当前位置: 首页 > 面试题库 >

如何从文本输入向URL添加锚标记

顾昌翰
2023-03-14
问题内容

我希望能够在注释字段中接受用户输入的文本并检查URL类型表达式,如果存在,请在显示注释时添加定位标记(到url)。

我在服务器端使用PHP,在客户端使用Javascript(带有jQuery),因此我应该等到显示URL之前,才检查URL吗?还是在将锚标记插入数据库之前添加锚标记?

所以

<textarea id="comment">check out blahblah.com or www.thisthing.co.uk or http://checkthis.us/</textarea>

变成

<div id="commentDisplay">check out <a href="blahblah.com">blahblah.com</a> or <a href="www.thisthing.co.uk">www.thisthing.co.uk</a> or <a href="http://checkthis.us/">http://checkthis.us/</a></div>

问题答案:

首先,一个请求。在将数据写入数据库之前,请勿执行此操作。而是在向最终用户显示数据之前执行此操作。这将减少所有混乱,并在将来为您提供更大的灵活性。

在网上找到一个示例如下:

$text = preg_replace('@(https?://([-\w\.]+)+(:\d+)?(/([-\w/_\.]*(\?\S+)?)?)?)@', '<a href="$1">$1</a>', $text);






/**
 * Replace links in text with html links
 *
 * @param  string $text
 * @return string
 */
function auto_link_text($text)
{
   $pattern  = '#\b(([\w-]+://?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/)))#';
   $callback = create_function('$matches', '
       $url       = array_shift($matches);
       $url_parts = parse_url($url);

       $text = parse_url($url, PHP_URL_HOST) . parse_url($url, PHP_URL_PATH);
       $text = preg_replace("/^www./", "", $text);

       $last = -(strlen(strrchr($text, "/"))) + 1;
       if ($last < 0) {
           $text = substr($text, 0, $last) . "&hellip;";
       }

       return sprintf(\'<a rel="nowfollow" href="%s">%s</a>\', $url, $text);
   ');

   return preg_replace_callback($pattern, $callback, $text);
}


 类似资料:
  • 问题内容: 在某些情况下,我必须从标记中获取文本,例如- 输入标签中的文本是一些说 但是当我使用时,它什么也不会返回。 无论如何,我可以从标签中获取文本吗? 问题答案: 您可以使用以下任何一种: 让我知道这是否没有帮助。

  • 嗨,我试图创建一个由JComboBox和JTextField组成的接口。我已经整理好了向JComboBox添加标签的代码,但是我在向文本字段添加标签时遇到了麻烦。如有任何帮助,不胜感激。

  • 问题内容: 我要提取: 来自标签的src的文本和 类数据内的定位标记的文本 我成功地提取了img src,但是从锚标记中提取文本时遇到了麻烦。 这是整个HTML页面的链接。 这是我的代码: 我想做的是 提取图像src(链接)和中的标题,因此例如: 应该提取: 问题答案: 以上所有答案确实可以帮助我构建答案,因此,我对其他用户提出的所有答案投了赞成票:但是我最终对自己正在处理的确切问题汇总了自己的答

  • 我需要开发android文件浏览器应用程序。我将文件名和文件路径都放入两个单独的ArrayList中,然后分配给ArrayAdapter。我使用TextView显示文件名和文件夹名。文件资源管理器工作正常。现在我需要添加文件夹图标到文件夹和文件图标到文件。 无法在布局文件中执行此操作,因为所有文件夹和文件都位于同一个ArrayAdapter中。我试图在代码中实现这一点,但我必须将整个ArrayLi

  • 文本标签通常用于帮助记录仪表板,例如添加仪表板标题、URL 链接。 添加一个文本标签 在仪表板选项卡中,点击 “添加文本”。 将其放在仪表板上。 输入标题。 属性 文本标签的可用属性: 选项 描述 位置 自定义标签的位置。 大小 自定义标签的大小。 标题 输入标签的标题。 对齐方式 指定标签标题的文本对齐方式。 字体 设置标签标题的字体样式。 粗体 将粗体样式应用于标签标题。 斜体 将斜体样式应用

  • 文本标签通常用于帮助记录仪表板,例如添加仪表板标题、URL 链接。 添加一个文本标签 在仪表板选项卡中,点击 。 将其放在仪表板上。 输入标题。 属性 文本标签的可用属性: 选项 描述 位置 自定义标签的位置。 大小 自定义标签的大小。 标题 输入标签的标题。 对齐方式 指定标签标题的文本对齐方式。 字体 设置标签标题的字体样式。 粗体 将粗体样式应用于标签标题。 斜体 将斜体样式应用于标签标题。