Соответствует, если в теге привязки есть строка

1

Я хочу проверить, существует ли строка между привязными тегами, например:
это пример text <a href=""> this is test string </a> а вот еще один тег привязки <a href=""> link again </a>.

В вышеприведенной строке я хочу совместить, если между тегами привязок существует "тест". как я могу это сделать с регулярным выражением.

Пожалуйста, помогите!

Благодарю.

Теги:
match

2 ответа

1
Лучший ответ

Попробуйте следующий код:

$x='<a href="">This is a test string</a>';

if(preg_match_all('~<a href="">.+test.+</a>~i',$x,$m))
{echo "Match";}
else
{echo "No match";}
  • 1
    спасибо Starkeen .. работал на меня!
1

Вот функция, которую вы можете использовать:

function getTextBetweenTags($string, $tagname) {
    $pattern = "/<$tagname ?.*>(.*)<\/$tagname>/";
    preg_match($pattern, $string, $matches);
    return $matches[1];
}
$str = '<a href=""> this is test string </a>';
$txt = getTextBetweenTags($str, "a");

echo $txt;
// Will return " this is test string ".
  • 0
    но в строке может быть много данных ... в большой строке есть несколько тегов привязок, и среди этих тегов привязки мне нужно найти. так что в этом случае это может не сработать.
  • 0
    Джереми, спасибо за ваш быстрый ответ ... и хороший ответ ... но в случае, если у меня есть несколько тегов привязки в строке, я хотел бы знать. это тоже не полный текст только слово мне нужно.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню