Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Модификация скрипта

Ответить
Настройки темы
Модификация скрипта

Ветеран


Сообщения: 573
Благодарности: 8


Конфигурация

Профиль | Отправить PM | Цитировать


Ребята, плиз, подскажите как изменить данный скрипт:

Код: Выделить весь код
<style>

p {
	font-family: Arial;
	font-size: 14px;
}

a.ssilka1 {
	color: #ff0000;
	text-decoration: underline;
}

a.ssilka1:hover {
	color: #ff0000;
	text-decoration: none;
}

a.ssilka2 {
	color: #33cc00;
	text-decoration: underline;
}

a.ssilka2:hover {
	color: #33cc00;
	text-decoration: none;
}

a.ssilka3 {
	color: #ff0099;
	text-decoration: underline;
}

a.ssilka3:hover {
	color: #ff0099;
	text-decoration: none;
}

</style>

<?php


@setlocale(LC_CTYPE, 'ru_RU.CP1251');


//для ссылок внутри статей
$words=array(
'болезни',
'болезнь',
'болезнью',
'болезнями',
'болезней',
'выделяем любое словосочетание',
'Одна большая фраза',
'ракета'
);
$open_tags=array(
'<a class="ssilka1" href="modules.php?name=page">',
'<a class="ssilka1" href="modules.php?name=page">',
'<a class="ssilka1" href="modules.php?name=page">',
'<a class="ssilka1" href="modules.php?name=page">',
'<a class="ssilka1" href="modules.php?name=page">',
'<a class="ssilka2" href="modules.php?name=page2">',
'<a class="ssilka3" href="modules.php?name=page3">',
'<a class="ssilka3" href="modules.php?name=page3">'
);
$close_tags=array(
'</a>',
'</a>',
'</a>',
'</a>',
'</a>',
'</a>',
'</a>',
'</a>'
);

function highlight_first($text, $words, $open_tags, $close_tags) {
	$arReplace = array();
	for($i=0; $i<count($words); $i++) {
		$words[$i] = "/\b(".preg_quote($words[$i]).")\b/i";
		$arReplace[]=  $open_tags[$i]. '\1'. $close_tags[$i];
	}
	$text =	preg_replace($words, $arReplace, $text, 1);
	return $text;
}

$text = "Пример текста и болезни и потом ещё всякий текст и бац болезнь. Потом дальше болезнью. Болезнями разными. Много всяких плохих болезней. Аага точно болезни. Возможно в тексте нужно будет выделяем любое словосочетание! Здесь будет ещё Одна большая фраза. И ещё полетит в космос ракета. Ракета это круто :)";
$text=highlight_first($text,$words,$open_tags,$close_tags);

echo "<br><p><b>Сейчас результат такой:</b></p>";

echo "<p>$text</p>";

echo "<br/><hr>";

echo "<p><b>Должен быть результат таким:</b></p>";

echo "<p>Пример текста и <a class=\"ssilka1\" href=\"modules.php?name=page\">болезни</a> и потом ещё всякий текст и бац болезнь. Потом дальше болезнью. Болезнями разными. Много всяких плохих болезней. Аага точно болезни. Возможно в тексте нужно будет <a class=\"ssilka2\" href=\"modules.php?name=page2\">выделяем любое словосочетание</a>! Здесь будет ещё <a class=\"ssilka3\" href=\"modules.php?name=page3\">Одна большая фраза</a>. И ещё полетит в космос ракета. Ракета это круто :)</p>";

?>
Сейчас скрипт выделяет (оборачивает ссылкой) самые первые по тексту разные словоформы, повторения не выделяет, а нужно чтобы ещё не выделял подряд разные словоформы с одинаковой ссылкой.

Подскажите как модифицировать код, чтобы получить результат как показано в скрипте под чертой?

Отправлено: 13:48, 09-02-2009

 

Ветеран


Сообщения: 573
Благодарности: 8

Профиль | Отправить PM | Цитировать


ни кто не знает

Отправлено: 14:24, 09-02-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Deadooshka


Сообщения: 2482
Благодарности: 671

Профиль | Отправить PM | Цитировать


Попроще не можете объяснить? Никто не понял, чего надо то...

Отправлено: 14:57, 09-02-2009 | #3


Ветеран


Сообщения: 573
Благодарности: 8

Профиль | Отправить PM | Цитировать


Цитата Sham:
Попроще не можете объяснить? Никто не понял, чего надо то... »
ну вот страница пример, сверху что щас скрипт делает, а под чертой что должно быть, после модификации существующего скрипта: http://saveplanet.su/text/text.php

Отправлено: 15:52, 09-02-2009 | #4


Deadooshka


Сообщения: 2482
Благодарности: 671

Профиль | Отправить PM | Цитировать


Цитата venuko:
for($i=0; $i<count($words); $i++) {
$words[$i] = "/\b(".preg_quote($words[$i]).")\b/i";
$arReplace[]= $open_tags[$i]. '\1'. $close_tags[$i];
}
$text = preg_replace($words, $arReplace, $text, 1); »
там надо с переменными поиграть, и preg_replace внутри цикла делать...

PHP код: Выделить весь код

for($i 0$i count($words); $i++)

{
    
$words "/\b(".preg_quote($words[$i]).")\b/i";

    
$arReplace $open_tags[$i]. '\1'$close_tags[$i];

    if(@
$prev_tag == $open_tags[$i] && @$is_replaced) continue;

    
$prev_text $text;

    
$text preg_replace($words$arReplace$text1);

    
$is_replaced = ($prev_text != $text);

    
$prev_tag $open_tags[$i];



Отправлено: 17:04, 09-02-2009 | #5


Ветеран


Сообщения: 573
Благодарности: 8

Профиль | Отправить PM | Цитировать


хорошо, но ещё подумаю

Отправлено: 18:00, 09-02-2009 | #6



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Модификация скрипта

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Модификация BAT.Trot.839 urmakuz Лечение систем от вредоносных программ 3 25-04-2009 09:50
Модификация скрипта venuko Вебмастеру 1 31-03-2009 19:55
IPB форум его модификация Dino_007 Вебмастеру 4 01-09-2008 13:03
Модификация OEM диска e_lasman Автоматическая установка Windows 2000/XP/2003 2 03-09-2006 21:14
модификация имени переменной (JavaScript) Crowner Вебмастеру 2 03-05-2006 11:04




 
Переход