这个正则表达式排除标题标签的内容有什么问题?
$plaintext = preg_match('#<title>(.*?)</title>#', $html);
$ html包含整页的HTML代码。
答案 0 :(得分:3)
听起来你从未得到过有效的答案。我们删除标题标记。
搜索:(?s)<title>.*?</title>
替换:""
代码:
$regex = "~(?s)<title>.*?</title>~";
$ replaced = preg_replace($regex,"",$pagecontent);
解释正则表达式
(?s) # set flags for this block (with . matching
# \n) (case-sensitive) (with ^ and $
# matching normally) (matching whitespace
# and # normally)
<title> # '<title>'
.*? # any character (0 or more times (matching
# the least amount possible))
</title> # '</title>'
答案 1 :(得分:0)
我想它应该是这样的...... 这只会为您提供内容
preg_match('(?<=<title>).*(?=<\/title>)', $html);
http://www.phpliveregex.com/p/1SJ
http://www.cheatography.com/davechild/cheat-sheets/regular-expressions/
答案 2 :(得分:0)
这将获得两个标签之间的所有内容
preg_match('<title>.+', $html);