Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: заменить символы в строке
Форумы портала PHP.SU » » Вопросы новичков » заменить символы в строке

Страниц (1): [1]
 

1. lixana - 27 Января, 2018 - 16:42:13 - перейти к сообщению
помогите разобраться.
нужно в заголовках (<h3>) абзацев текста заменить символы '&' в '&amp;'
про htmlspecialchars знаю, но она преобразует во всем тексте.
2. Строитель - 27 Января, 2018 - 16:54:08 - перейти к сообщению
lixana, опубликуйте пример строки, в которой надо произвести замену.
3. lixana - 27 Января, 2018 - 16:58:08 - перейти к сообщению
Строитель пишет:
lixana, опубликуйте пример строки, в которой надо произвести замену.


CODE (html):
скопировать код в буфер обмена
  1.  <h3>Строка заголовка & строка</h3>
4. Строитель - 27 Января, 2018 - 17:11:04 - перейти к сообщению
lixana
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $str = '<h3>Строка заголовка & строка</h3>';
  4.  
  5.      '~(<h3>)(.+?)(</h3>)~',
  6.      function ($m) {
  7.         return $m[1] . str_replace('&', '&amp;', $m[2]) . $m[3];
  8.      },
  9.      $str
  10. );
  11.  
  12. // Результат: <h3>Строка заголовка & строка</h3>

(Добавление)
lixana, местный парсер съедает & amp ; поэтому уточняю, его надо передать 2-ым параметром в str_replace()
5. lixana - 27 Января, 2018 - 17:20:54 - перейти к сообщению
Строитель пишет:
lixana
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $str = '<h3>Строка заголовка & строка</h3>';
  4.  
  5.      '~(<h3>)(.+?)(</h3>)~',
  6.      function ($m) {
  7.         // Местный парсер съедает & amp ; поэтому уточняю,
  8.         // его надо передать 2-ым параметром в str_replace()
  9.         return $m[1] . str_replace('&', '&amp;', $m[2]) . $m[3];
  10.      },
  11.      $str
  12. );
  13.  
  14. // Результат: <h3>Строка заголовка & строка</h3>

(Добавление)
lixana, местный парсер съедает & amp ; поэтому уточняю, его надо передать 2-ым параметром в str_replace()


спасибо
6. Строитель - 27 Января, 2018 - 17:30:25 - перейти к сообщению
Мелкий пишет:
можно удвоить амперсанд
О, благодарю за подсказку Закатив глазки

 

Powered by ExBB FM 1.0 RC1