|
|
|
|
|
для: Trianon
(26.01.2009 в 01:44)
| | Все ждал кто же предложит этот вариант:) | |
|
|
|
|
|
|
|
для: Trianon
(26.01.2009 в 01:44)
| | с ошибкой разобрался, был не внимателен просто.
только вот почему не выделяет слово "продаются" при запросе "продаю"?
наверное нужно искать в сообщении и выделять последовательность букв, а не слово целиком? | |
|
|
|
|
|
|
|
для: Trianon
(26.01.2009 в 00:43)
| |
<style type="text/css">
span.select{ color: #E02020 }
</style>
<?php
$var = file_get_contents(__FILE__);
$arr = array('select', 'span');
$pattern = '#('.implode('|', array_map('preg_quote', $arr)).')#';
$src = 0;
$res = '';
if(preg_match_all($pattern, $var, $m, PREG_OFFSET_CAPTURE))
foreach($m[0] as $v)
{
if($v[1] > $src)
$res .= htmlspecialchars(substr($var, $src, $v[1]-$src));
$src = $v[1] + strlen($v[0]);
$res .= '<span class="select">'.htmlspecialchars($v[0]).'</span>';
}
$res .= htmlspecialchars(substr($var, $src));
echo'<pre>'.$res.'</pre>';
?>
|
Сырец.
Наверняка, этот код можно написать и поаккуратнее. | |
|
|
|
|
|
|
|
для: nikita2206
(26.01.2009 в 00:40)
| | Да я вообще то заглянул и в html-код , хотя имел право этого не делать.
слова остались невыделенными. | |
|
|
|
|
|
|
|
для: Trianon
(26.01.2009 в 00:33)
| | если б не запускал не давал бы, ты исходный код смотри, а не рендер... все работает отлично... а то что вы пугаетесь длинных кодов, это ваша проблема... | |
|
|
|
|
|
|
|
для: nikita2206
(25.01.2009 в 23:48)
| | Скажите честно, Вы его запускали?
А лучше не говорите ничего, ей-богу... | |
|
|
|
|
|
|
|
для: Trianon
(25.01.2009 в 19:16)
| | держи
<?php
$var = file_get_contents(__FILE__);
$text = 'dsjksdhfjkdhsfjkhdjk nra span j aksnd najsdbj kbsajkdjbfsd sdf hsdgsdhfgs hdgfsdfgdshfg sdfgh dsgfysdgfhsd';
$replace = array(
'A' => 'A',
'B' => 'B',
'C' => 'C',
'D' => 'D',
'E' => 'E',
'F' => 'F',
'G' => 'G',
'H' => 'H',
'I' => 'I',
'J' => 'J',
'K' => 'K',
'L' => 'L',
'M' => 'M',
'N' => 'N',
'O' => 'O',
'P' => 'P',
'Q' => 'Q',
'R' => 'R',
'S' => 'S',
'T' => 'T',
'U' => 'U',
'V' => 'V',
'W' => 'W',
'X' => 'X',
'Y' => 'Y',
'Z' => 'Z',
'a' => 'a',
'b' => 'b',
'c' => 'c',
'd' => 'd',
'e' => 'e',
'f' => 'f',
'g' => 'g',
'h' => 'h',
'i' => 'i',
'j' => 'j',
'k' => 'k',
'l' => 'l',
'm' => 'm',
'n' => 'n',
'o' => 'o',
'p' => 'p',
'q' => 'q',
'r' => 'r',
's' => 's',
't' => 't',
'u' => 'u',
'v' => 'v',
'w' => 'w',
'x' => 'x',
'y' => 'y',
'z' => 'z'
);
$arr = array('span', 'select');
$i = 0;
while(isset($arr[$i])){
if(strlen($arr[$i]) > 2){
$word = strtr($arr[$i], $replace);
$var = preg_replace('/[^<]([[\w+][^"=]]*)'.$arr[$i].'.[^>]/', '<span class="select">'.$word.'</span>', $var);
}
$i++;
}
echo $var;
?>
|
| |
|
|
|
|
|
|
|
для: Trianon
(25.01.2009 в 19:16)
| | щас голова болит... завтра наверн чтонить придумаю...
пока токо массив с шестнадцатиричным представлением символов в хтмл наваял
пс. с вашим подхом канеш, таак можно и любой сайт с обработчиком бб кодов сломать | |
|
|
|
|
|
|
|
для: nikita2206
(25.01.2009 в 19:04)
| | Работающего кода я так и не увидел.
В базе данных теги не хранятся.
Там хранится текст.
Текст вполне может быть и такой, как в этом примере. | |
|
|
|
|
|
|
|
для: nikita2206
(25.01.2009 в 19:04)
| | пс вобщем тут задача несложная, если в базе данных небудет хтмл тегов.... конечно надо все это до ума довести, возможно даже взять "базу" всех существующих хтмл тегов, чтоб неполучилось подмены имен тегов, простите за тафтологию | |
|
|
|
|