|
|
|
| Как сделать что бы слова заменялись во всем тексте не заменяя нечего внутри тэгов? | |
|
|
|
|
|
|
|
для: fly2p
(03.07.2009 в 23:50)
| | А можно поподробнее. А так мало что понятно. | |
|
|
|
|
|
|
|
для: Rolex
(04.07.2009 в 00:31)
| | Например надо заменить слов text238 в таком тексте:
раз text238 два три <a href="http://text238.ru" title="the text238"> и <b>text238</b> i t.d.
Что бы это слово менялось только в тексте, а тут <a href="http://text238.ru" title="the text238"> нечего не заменяло, теги могут быть различные img и т.д. | |
|
|
|
|
|
|
|
для: fly2p
(04.07.2009 в 00:53)
| |
$pattern = '/(?![^<>]*[>])text238/ms';
|
| |
|
|
|
|
|
|
|
для: Trianon
(04.07.2009 в 01:35)
| | Спасибо! А как то можно еще сделать что бы не заменяло еще в неактивных ссылка?
Например:
раз text238 два три <a href="http://text238.ru" title="the text238"> и <b>text238</b> i t.d. http://text238.com/1.html qwerty
Не трогая то что внутри тегов и между http:// *.html | |
|
|
|
|
автор: ?????? (04.07.2009 в 23:34) |
|
|
для: fly2p
(04.07.2009 в 19:29)
| | (?<!http://) перед словом в шаблоне | |
|
|
|
|
автор: ?????? (04.07.2009 в 23:32) |
|
|
для: Trianon
(04.07.2009 в 01:35)
| | такой вариант ещё
$pattern = '#text238(?(?=[^<>]*>)(?!))#';
|
побыстрее вроде должно быть | |
|
|
|
|
|
|
|
для: ??????
(04.07.2009 в 23:32)
| | полагаю, автору китайская грамота что первое, что второе, что третье. | |
|
|
|
|
|
|
|
для: Trianon
(04.07.2009 в 01:35)
| | Все работает. Только если в ссылке будут еще папки, тогда они все равно заменяться будут. Немного не правильно указал пример.
<?php
$text="раз text238 два три <a href=\"http://text238.ru\" title=\"the text238\"> и</a> <b>text238</b> i t.d. http://text238.com/text238/isne.html";
$pattern = '#(?<!http://)text238(?(?=[^<>]*>)(?!))#';
$text = preg_replace ($pattern, 'text329', $text);
echo $text;
?>
|
Результат:
раз text329 два три <a href="http://text238.ru" title="the text238"> и</a> <b>text329</b> i t.d. http://text238.com/text329(заменилось)/isne.html
Как-то можно указать, что бы от такого то до такого то символа не производилась замена (при любом количестве папок)? | |
|
|
|
|
|
|
|
для: fly2p
(05.07.2009 в 01:00)
| | папка - это что за шняга такая?
Вопрос, впрочем, риторический. | |
|
|
|
|
|
|
|
для: Trianon
(05.07.2009 в 01:47)
| | Хоть вопрос и риторический...
http://text238.com/папка1/папка2/.../папкаN/file.html | |
|
|
|
|
|
|
|
для: fly2p
(05.07.2009 в 01:57)
| | Это называется каталог | |
|
|
|
|
|
|
|
для: Trianon
(05.07.2009 в 01:59)
| | Еще это можно назвать директория, но по-моему это к теме не относится.
Хотелось бы услышать, что то по существу. | |
|
|
|
|
автор: ?????? (05.07.2009 в 23:07) |
|
|
для: fly2p
(05.07.2009 в 02:02)
| | например такое будет ещё медленнее
<?
$pattern = '#(http://[^\s"\'>]+)|text238(?![^<>]*>)#e';
echo preg_replace ($pattern, '((\'$1\'!="")?\'$1\':\'text329\')', $text);
|
| |
|
|
|
|
|
|
|
для: ??????
(05.07.2009 в 23:07)
| | Спасибо большое! | |
|
|
|
|
|
|
|
для: fly2p
(06.07.2009 в 01:47)
| | Здравствуйте. Столкнулся с похожей проблемой.
Мне нужно чтобы слова заменялись везде кроме конкретных атрибутов, например src, href.
Не подскажете как это реализовать регулярным выражением?
Заранее спасибо!!! | |
|
|
|
|
|
|
|
для: fly2p
(03.07.2009 в 23:50)
| | можешь юзать include
<p><? include"silka.txt"; ?></p>
а в silka.txt тупо текст ссылки ...и так ко всем страницам ... делаешь 1 раз поможет на всю жизинь чтобы tyt лазить и вручную не заменять | |
|
|
|