PHP - 替换撇号
PHP - Replace apostrophe
我目前正在开发一个包含姓名列表的网站。有些名字包含撇号 '
,我想 link 使用他们的名字将它们转到网站。
我想 link 变成 url 这样的:
example.com/(他们的名字)
然后,我首先将“ ”替换为“+”。所以 links 看起来像:example.com/john+doe
但是如果名字是 John'Doe,它会将 url 变成一个例子。com/john
并跳过姓氏。
我该如何解决这个问题?我尝试将 '
、\'
等更改为 html 代码、' 等等,但似乎没有任何效果。
这是我当前的代码:
$name = $row['name'];
$new_name = str_replace(
array("'", "'"),
array(" ", "+"),
$name
);
echo "<td>" . $name . " <a href='http://www.example.com/name=" . $new_name . "' target='_blank'></a>" . "</td>";
我想要的样子:
John Doe Johnson ----> http://www.example.com/name=John+Doe+Johnson
John'Doe Johnson ----> http://www.example.com/name=John'Doe+Johnson
它将空格更改为 +,但如何修复撇号?有人知道吗?
echo urlencode("John'Doe Johnson");
return
John%27Doe+Johnson
您应该使用 PHP 的函数 urlencode
、php.net/manual/en/function.urlencode.php.
<?php
$name = $row['name'];
//$urlname = urlencode('John\'Doe Johnson');
$urlname = urlencode($name);
echo "<td>$name<a href='http://www.example.com/name=$urlname' target='_blank'>$name</a></td>";
输出:
<td>John%27Doe+Johnson <a href='http://www.example.com/name=John%27Doe+Johnson' target='_blank'></a></td>
我目前正在开发一个包含姓名列表的网站。有些名字包含撇号 '
,我想 link 使用他们的名字将它们转到网站。
我想 link 变成 url 这样的: example.com/(他们的名字)
然后,我首先将“ ”替换为“+”。所以 links 看起来像:example.com/john+doe
但是如果名字是 John'Doe,它会将 url 变成一个例子。com/john
并跳过姓氏。
我该如何解决这个问题?我尝试将 '
、\'
等更改为 html 代码、' 等等,但似乎没有任何效果。
这是我当前的代码:
$name = $row['name'];
$new_name = str_replace(
array("'", "'"),
array(" ", "+"),
$name
);
echo "<td>" . $name . " <a href='http://www.example.com/name=" . $new_name . "' target='_blank'></a>" . "</td>";
我想要的样子:
John Doe Johnson ----> http://www.example.com/name=John+Doe+Johnson
John'Doe Johnson ----> http://www.example.com/name=John'Doe+Johnson
它将空格更改为 +,但如何修复撇号?有人知道吗?
echo urlencode("John'Doe Johnson");
return
John%27Doe+Johnson
您应该使用 PHP 的函数 urlencode
、php.net/manual/en/function.urlencode.php.
<?php
$name = $row['name'];
//$urlname = urlencode('John\'Doe Johnson');
$urlname = urlencode($name);
echo "<td>$name<a href='http://www.example.com/name=$urlname' target='_blank'>$name</a></td>";
输出:
<td>John%27Doe+Johnson <a href='http://www.example.com/name=John%27Doe+Johnson' target='_blank'></a></td>