gpt4 book ai didi

php - 回显 anchor 标题中可能包含单引号和/或双引号的 mysql 文本的正确方法是什么?

转载 作者:行者123 更新时间:2023-11-29 22:10:23 24 4
gpt4 key购买 nike

我试图包含一个字符串变量作为 anchor 标记的标题,因此当用户将鼠标悬停在链接上时,他们会看到文本。文本可能包含也可能不包含单引号或双引号,并且来自 mysql 表列。

代码如下:

echo '<a title="'.$classRow['Description'].'">'.$classRow['LongName'].'</a>';

如果 $classRow['Description'] 为:

,则上述代码可以正常工作:

In this class, we'll watch a movie.

但是如果 $classRow['Description'] 为:

,则标题在“movie”一词之后被截断:

In this class, we'll watch the movie "Life of Pi."

我尝试使用addslashes($classRow['Description']),但这只显示斜杠;一旦文本到达双引号,文本仍然会被截断。

最佳答案

这应该可以做到,

$classRow['Description'] = 'In this class, we\'ll watch the movie "Life of Pi."';
echo '<a title="'.htmlspecialchars($classRow['Description'], ENT_QUOTES) .'">' .$classRow['LongName'].'</a>';

PHP 演示:http://sandbox.onlinephpfunctions.com/code/dadb94a797a74cc7fd8c078ca49d8840ddaeb0b3

功能页:http://php.net/manual/en/function.htmlspecialchars.php

另请注意,您遇到的行为不是数据被截断,字符串中的 " 正在关闭属性,然后字符串的其余部分将被读取为属性。

请注意,恶意用户可能会以同样的方式更改元素,因此在输出用户提供的输入时,您也应该使用此函数。

关于php - 回显 anchor 标题中可能包含单引号和/或双引号的 mysql 文本的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31735772/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com