我无法弄清楚如何从包含以下内容的html页面获取标题:
<title>Breaking <--- *EOL
- News</title>
*注意:单词“ Breaking”后有不可见的EOL或换行符。
我已经尝试过几乎所有处理eol的正则表达式,但似乎没有任何效果。它总是不返回任何内容。
preg_match('/\<title.*?\>(.*?)\<\/title\>/si', $str, $match);
preg_match('/(?s)\<title.*?\>(.*?)\<\/title\>/i', $str, $match)
$titles = $dom->getElementsByTagName('title');
$title = $titles->item(0)->nodeValue;
此正则表达式在许多情况下都能正确获取标题,但是无论我如何尝试,标签之间的eol总是失败。
对于解决方案的任何有意义的步骤,将不胜感激。
答案 0 :(得分:-1)
尝试一下,工作正常。
-std=c++17 -Wall -Wextra -O3 -fno-tree-vectorize -mavx512f
答案 1 :(得分:-2)
我为这个真正的快速编码
<?php
$title = '<title>Breaking
- News</title>';
preg_match('/<title[^>]*>(.*?)<\/title>/is', $title, $match);
echo $match[0]."\n";
echo $match[1]."\n";
希望有帮助。