【问题标题】:Check string for link检查链接的字符串
【发布时间】:2011-01-28 05:21:13
【问题描述】:

我有相当长的条目被提交到数据库。

如何创建一个函数来查看该条目是否包含链接?有人可以让我开始吗?

差不多,我希望该函数在字符串中找到任何<a<a href 或任何其他相关链接实例。

我不希望将条目放入数组中。有没有其他方法可以做到这一点?

【问题讨论】:

标签: php html html-parsing


【解决方案1】:

查看Regex 以查找 HTML 标记

【讨论】:

【解决方案2】:

如果你想远离 RegEx,你可以使用 strpos 和 substr 的丑陋组合来查找 "<a " 提取,等等。

像这样丑陋的东西(这只找到第一个链接,它会因错误代码而失败,并且找不到 ' (这是无效的 XHTML))这是个坏主意:

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;

注意:这些不是很好的方法。

【讨论】:

    猜你喜欢
    • 2013-06-21
    • 2012-02-21
    • 2023-03-09
    • 2020-11-22
    • 1970-01-01
    • 1970-01-01
    • 2019-08-21
    • 2014-05-21
    • 1970-01-01
    相关资源
    最近更新 更多