我有相当长的条目提交给数据库。链接检查字符串
如何创建一个函数来查看此条目是否有链接?有人能让我开始吗?
非常多,我希望函数能找到任何<a
,<a href
或字符串内的任何其他相关链接实例。我不希望将条目扔到数组中。有没有其他方法可以实现这一点?
我有相当长的条目提交给数据库。链接检查字符串
如何创建一个函数来查看此条目是否有链接?有人能让我开始吗?
非常多,我希望函数能找到任何<a
,<a href
或字符串内的任何其他相关链接实例。我不希望将条目扔到数组中。有没有其他方法可以实现这一点?
退房Regex找到HTML标签
好的,很酷。这是一个有趣的阅读。我同意正则表达式不适合每一种情况,但是海报要求找到任何“ Joel 2010-03-16 18:21:44
如果你想远离正则表达式的时候,你可以使用strpos和SUBSTR的丑陋组合找到"<a "
提取物等
丑陋的东西像这(这只发现第一个链接,它会失败,代码不好,并且它找不到'(这是无效的XHTML))ps这是一个坏主意:
function findLink($string) {
$pos = strpos($string, "<a ");
if ($pos === false)
return false;
$string = substr($string, $pos);
$pos = strpos($string, "href");
$string = substr($string, $pos);
// First quote
$pos = strpos($string, '"');
$string = substr($string, $pos + 1);
// Last quote
$pos = strpos($string, '"');
$string = substr($string, 0, $pos);
if (trim($string) != "")
return $string;
return false;
}
我敢肯定,你也可以尝试标记字符串?
$token = strtok($string, "\"'");
while ($token !== false) {
// Look for anything with a link in it
str_replace(array("http://", "www", "ftp://"), "", ltrim($string), $count);
if ($count > 0)
return $string;
$token = strtok($string, "\"'");
}
return false;
注意:这些都不是很好的方法来做到这一点。
因此,您的链接意味着'a'元素? – Gumbo 2010-03-16 16:58:25
是的,这是正确的。 – Mike 2010-03-16 16:59:50
啊,好的。你的标记刚刚被系统吃掉了。 – Gumbo 2010-03-16 17:14:42