Php 关于SEO搜索和html字符

Php 关于SEO搜索和html字符,php,utf-8,uri,slug,Php,Utf 8,Uri,Slug,我正在开发一个网站,它允许用户通过网站数据库进行搜索,搜索脚本是定制的,这是一个在SQL中使用“匹配”的简单例子 工作流程如下: 用户输入文本(可以是文本+数字+一些特殊符号)。 表单被提交到一个页面,该页面将生成一个SEO URL() 现在我遇到的问题是,有些角色在slug中显示,有些则没有。我做错了什么 代码: 在搜索重定向器页面中: $title=rawurldecode($_GET['searchtext']); $title=ucfirst(mb_strtolower($title,'

我正在开发一个网站,它允许用户通过网站数据库进行搜索,搜索脚本是定制的,这是一个在SQL中使用“匹配”的简单例子

工作流程如下:

用户输入文本(可以是文本+数字+一些特殊符号)。 表单被提交到一个页面,该页面将生成一个SEO URL()

现在我遇到的问题是,有些角色在slug中显示,有些则没有。我做错了什么

代码:

在搜索重定向器页面中:

$title=rawurldecode($_GET['searchtext']);
$title=ucfirst(mb_strtolower($title,'UTF-8'));
$title=preg_replace('/[^-\pL.\s0-9- ?\'"+:()<>&]/u', '', $title); //replaces everything else apart from characters and symbols mentioned above.
$title=htmlspecialchars(trim(html_entity_decode($title)));
$slug=rawurlencode($title);
$link="http://www.example.com/search/".$slug;
$title=rawurldecode($\u GET['searchtext']);
$title=ucfirst(mb_strtolower($title,'UTF-8'));
$title=preg_replace('/[^-\pL.'s0-9-?\'“+:()&]/u',''.$title);//替换除上述字符和符号之外的所有内容。
$title=htmlspecialchars(trim(html\u entity\u decode($title));
$slug=rawurlencode($title);
$link=”http://www.example.com/search/“$slug;
并在搜索页面中显示为:

$title=rawurldecode($_GET['searchtext']);
$title=preg_replace('/[^-\pL.\s0-9- ?\'"+:()<>&;]/u', '', $title);
$title=str_replace("%09","",$title);
$title=str_replace("%20"," ",$title);
$title=str_replace("-"," ",$title);
$title=trim($title,' ');
$title=trim($title,'%20');
$title=trim($title,'-');
$title=trim($title,' ');
$title=html_entity_decode($title);
$title=rawurldecode($\u GET['searchtext']);
$title=preg\u replace('/[^-\pL.\s0-9-?\'“+:()&;]/u','','$title);
$title=str_replace(“%09”,”,$title);
$title=str_replace(“%20”,”,$title);
$title=str_替换(“-”、“”、$title);
$title=修剪($title,”);
$title=修剪($title,'%20');
$title=修剪($title,'-');
$title=修剪($title,”);
$title=html\u实体\u解码($title);
然后选择id,Title from table match(Title)对(“$Title”)

上述工程适用于:

  • UTF字符串
  • 仅包含字符的字符串
  • 字符串,如“Title;)”和“Title:-)”
问题是,它不适用于某些转换形式中带有“&”的字符,如、&符号等

是什么使它出错? 请导游

是什么使它出错

你的期望

请导游


-在您的案例中,一个好的条目可能是。

URL中有一些具有特定含义的字符。您可能需要修改这些代码,以便在返回时不会弄脏您的URL。@Fluffeh,请告诉我我做错了什么……或者至少我可以做些什么来让这些内容按我的意愿工作。基本上,我只需要用户输入一个字(带字符)和一些允许的符号。搜索应该是安全的,没有xss/sql注入(尽管我使用的是HTML净化器+准备好的语句)。最后,在安全性之后,我希望URL slug对于SEO是安全的。@CyberWizard:它从理解“您的”问题开始。您特别需要在URI中查找保留字符。了解它是如何工作的,然后决定你想利用它做什么。不要被营销所愚弄:任何正确编写的URI对于SEO都是安全的。+1-我所说的是一个链接和一个指向解决问题的(真正的fricken)长规范的特定指针。