【发布时间】:2020-02-19 02:53:05
【问题描述】:
<?php
$html = <<<EOD
dsfgvsdfgv
sdfgv
sdfgv
<span id="userStatusText" class="text-overflow ng-binding userstatus-editable" title="_epic Can I have Coffee" ng-class="{'userstatus-editable':profileHeaderLayout.mayUpdateStatus}" ng-bind="profileHeaderLayout.statusText|statusfilter" ng-click="revealStatusForm()">"_epic Can I have Coffee"</span>
fdgvsdfgvsdfvg
var_dumpgv
dsfgv
EOD;
preg_match("!<span.+id=\"userStatusText\".+>(.*)<\/span>!", $html, $element);
if (!$element) {
return;
}
echo $element[0];
我为这个残暴的变量道歉,但我正在尝试从字符串中获取_epic Can I have Coffee。
我一直在尝试获取括号内的字符串,这些字符串在 PHP 文档中被称为捕获。
我希望能够捕获 (.*) 中不起作用的文本。
在执行 preg_match 时,我仍然只会得到 span 元素 <span ...>...</span>(用 ... 替换 $html 变量中的内容)。
我查看了多个主题和文档,但找不到任何可以回答我的问题的内容。
我不是在尝试获取元素,而是在 Right Here 中获取文本
【问题讨论】:
-
这里的“右边”是什么意思?您希望匹配每个垃圾邮件标签内的文本,还是只匹配第一个?
标签: php html regex preg-match