preg_match("/ [>](.*)[<] /", '<textarea width="500" >web scripting language of choice.</textarea>',$matches);
print_r ($matches);
我想返回“首选的网页脚本语言”。形成这个字符串。 请帮我。 到达这个 PHP
答案 0 :(得分:2)
HTML不是常规语言,无法使用正则表达式正确解析。请改用DOM解析器。以下是使用PHP的DOMDocument类完成的方法:
$html = <<<HTML
<textarea width="500" >web scripting language of choice.</textarea>
HTML;
$dom = new DOMDocument;
$dom->loadHTML($html);
foreach ($dom->getElementsByTagName('textarea') as $tag) {
var_dump($tag->nodeValue);
}
如果您完全确定标记的格式是一致的,那么正则表达式也可以正常工作。要修复正则表达式,请从模式中删除多余的空格:
preg_match("/[>](.*?)[<]/", $html, $matches);
var_dump($matches[1]);
<强>输出:强>
string(33) "web scripting language of choice."
答案 1 :(得分:2)
改为使用strip_tags
。
var_dump(strip_tags('<textarea width="500" >web scripting language of choice.</textarea>'));
答案 2 :(得分:0)
这样做:
<?
$string = '<textarea width="500" >web scripting language of choice.</textarea>';
$match = preg_replace('%<textarea width="500" >(.*?)</textarea>%i', '$1', $string );
echo $match;
//web scripting language of choice.
?>