Захватить исходный URL изображения с ключевым словом - PullRequest
0 голосов
/ 16 апреля 2020

Я новичок в regex, поэтому, пожалуйста, потерпите меня.

У меня есть следующая строка:

<p style="text-align: right;"><strong>&nbsp; &nbsp; &nbsp; &nbsp;*owner_name_2*&nbsp; </strong><strong>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "*tenant_name_2*"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "*tenant_name_1*"&nbsp; </strong></p>
<p style="text-align: right;"><strong>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<img src="https://cdn.tiny.cloud/1/4wpqwjufbcfqlazualjk6yq6y1fqo9rbr5x9lcbd1tm1dumk/tinymce/5/*owner_signature_2*" alt="*owner_signature_2*" width="200" height="200" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<img src="https://cdn.tiny.cloud/1/4wpqwjufbcfqlazualjk6yq6y1fqo9rbr5x9lcbd1tm1dumk/tinymce/5/*tenant_signature_2*" alt="*tenant_signature_2*" width="200" height="200" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<img src="https://cdn.tiny.cloud/1/4wpqwjufbcfqlazualjk6yq6y1fqo9rbr5x9lcbd1tm1dumk/tinymce/5/*tenant_signature_1*" alt="*tenant_signature_1*" width="200" height="200" /></strong></p>
<p style="text-align: right;">&nbsp;</p>

Используя regex, я хочу захватить только источник тегов изображения. например (https://cdn.tiny.cloud/1/4wpqwjufbcfqlazualjk6yq6y1fqo9rbr5x9lcbd1tm1dumk/tinymce/5/ tenant_signature_2 )

Пока у меня есть этот шаблон src\s*=\s*"(.*?\/*tenant_signature\/*.*?)", где он должен возвращать все URL, в которых есть "tenant_signature" .

Однако, что я получаю, это:

 1 => array:2 [
    0 => "https://cdn.tiny.cloud/1/4wpqwjufbcfqlazualjk6yq6y1fqo9rbr5x9lcbd1tm1dumk/tinymce/5/*owner_signature_2*" alt="*owner_signature_2*" width="200" height="200" /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<img src="https://cdn.tiny.cloud/1/4wpqwjufbcfqlazualjk6yq6y1fqo9rbr5x9lcbd1tm1dumk/tinymce/5/*tenant_signature_2*"
    1 => "https://cdn.tiny.cloud/1/4wpqwjufbcfqlazualjk6yq6y1fqo9rbr5x9lcbd1tm1dumk/tinymce/5/*tenant_signature_1*"
  ]

Есть идеи, почему я получаю URL-адрес, который тоже имеет "owner_signature" в первом захвате?

Я попытался добавить «^» и «$» в начале и конце шаблона, чтобы отметить начало и конец строки. Но тогда это ничего не захватит.

PS: я использую preg_match_all() для получения совпадений.

Заранее спасибо:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...