Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Проблема с тегами HTML с preg_replace

Сообщения:  [1-7] 

 
 автор: AcidTrash   (19.03.2009 в 21:58)   письмо автору
 
   для: AcidTrash   (17.03.2009 в 20:02)
 

Хотя подождите, пролазят, в условии у вас этих слов замены не было.

P.S. Ваше ТЗ тогда не особо понятно.

  Ответить  
 
 автор: AcidTrash   (19.03.2009 в 21:49)   письмо автору
 
   для: yuk   (18.03.2009 в 01:42)
 

Да не будет.

  Ответить  
 
 автор: yuk   (18.03.2009 в 01:42)   письмо автору
 
   для: AcidTrash   (17.03.2009 в 20:02)
 

Вот так попробуйте, вроде нормально должно быть.

$String=preg_replace("/(>[^<]*?){$Value}([^>]*?<)/i","\\1{$Replace[$Key]}\\2",$String);

  Ответить  
 
 автор: AcidTrash   (17.03.2009 в 20:02)   письмо автору
 
   для: Night_Wolf   (17.03.2009 в 12:47)
 

"readony" и "disabled" пролазят.
Ну конечно пролезут, здесь ни как, так как условие то получается неопределимое.

  Ответить  
 
 автор: Night_Wolf   (17.03.2009 в 12:47)   письмо автору
 
   для: AcidTrash   (16.03.2009 в 15:57)
 

Спасибо, это действительно помогло почти в 99% случаев.
Разве что
<input type="text" readony disabled value="test">

"readony" и "disabled" пролазят.

  Ответить  
 
 автор: AcidTrash   (16.03.2009 в 15:57)   письмо автору
 
   для: Night_Wolf   (16.03.2009 в 12:37)
 

Возможно так подойдет
 $String=preg_replace('/[^<]'.$Value.'[^=>]/',' '.$Replace[$Key].' ',$String); 

  Ответить  
 
 автор: Night_Wolf   (16.03.2009 в 12:37)   письмо автору
 
 

Здравствуйте, помогите решить такую проблему:

Необходимо заменить некоторые слова в HTML-коде. Столкнулся с тем, что некоторые слова соответствуют именам тегов HTML и возникает проблема.

Например вот что:


$Fined=Array('table','style','button','width');
$Replace=Array('таблица','стиль','кнопка','ширина');

$String='<table class="new" width="100%">
<tr>
<td style="cool">
Text ... style of table and button... text
</td>
</tr>
</table>';

foreach($Fined as $Key=>$Value)
{
    $String=preg_replace('/'.$Value.'/',$Replace[$Key],$String);
}
print $String;


Искажает HTML код. Можно как-либо обойти замену тегов при замене?

  Ответить  

Сообщения:  [1-7] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования