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 :: Версия для печати :: код с 3-мя ссылками обернутыми в параграф
Форумы портала PHP.SU » PHP » Регулярные выражения » код с 3-мя ссылками обернутыми в параграф

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

1. mstdmstd - 16 Октября, 2015 - 10:35:45 - перейти к сообщению
Всем привет,
Подскажите, пожалуйста :
есть код с 3-мя ссылками обернутыми в параграф
PHP:
скопировать код в буфер обмена
  1. $orig_str = '
  2. content before
  3. <p class="hide-if-no-js">
  4.  <a href="#" id="remove-post-thumbnail" onclick="javascript:JSMethod(2b37a2b6bd);return false;">
  5.    First link
  6.  </a>
  7. </p>
  8.  
  9. Content inside
  10. <p class="hide-if-no-js">
  11.  <a href="#" id="remove-post-thumbnail" onclick="javascript:JSMethod(2b37a2b6bd);return false;">
  12.    Remove This link
  13.  </a>
  14. </p>
  15.  
  16. Content inside ZZZzzz
  17. <p class="hide-if-no-js">
  18.  <a href="#" id="remove-post-thumbnail" onclick="javascript:JSMethod(2b37a2b6bd);return false;">
  19.    last link
  20.  </a>
  21. </p>
  22.  
  23. content after
  24.         ';
  25.  

1) Хочется выбрать только один(2й) параграф с текстом "Remove This link"
Делаю :


PHP:
скопировать код в буфер обмена
  1. $ImgPattern= '/<p([-:\w\s.a-zA-Z"0-9=?\/;&#\(\)<>]*)[\/>]*Remove This link([-:\w\s.a-zA-Z"0-9=?\/;&#\(\)<>]*)[\/p>]*$/i';
  2.         $A= array();
  3.         $ret= preg_match($ImgPattern, $orig_str, $A);
  4.  

Выбираются все 3 ссылки.
Если убрать "<>" в конце условия - то, ничего не находит. А как правильно ?

2) код с JSMethod(2b37a2b6bd) в оригинале имеет вид
CODE (html):
скопировать код в буфер обмена
  1. onclick="javascript:JSMethod(\'2b37a2b6bd\');retu


Я задал условие с двойным '\\':
PHP:
скопировать код в буфер обмена
  1. $ImgPattern= '/<p([-:\w\s.a-zA-Z"0-9=?\/;&#\(\)<>\\]*)[\/>]*Remove This link([-:\w\s.a-zA-Z"0-9=?\/;&#\(\)<>\\]*)[\/p>]*$/i';
  2.  

и получил ошибку
Цитата:
 Warning: preg_match(): Compilation failed: missing ) at offset 


А как правильно ?

Спасибо!
2. DeepVarvar - 16 Октября, 2015 - 11:25:23 - перейти к сообщению
http://forum.php.su/topic.php?fo...35&topic=834

 

Powered by ExBB FM 1.0 RC1