草庐IT

php - 去除 html 标签

目前,我使用strip_tags从我处理的字符串中删除所有html标签。但是,我最近注意到,它连接了包含在已删除标签中的单词即$str="Helloworld";$result=strip_tags($str);echo$result;(printsHelloWorld)如何解决这个问题? 最佳答案 这会将所有html标记(任何形式为,事实上,不检查它是否真的是html)替换为空格,然后将可能的双空格替换为单个空格并删除开始或结束空格。$str=preg_replace("//","",$str);$str=trim(str_rep

php - 使用 str_replace 是否足以防止 SQL 注入(inject)攻击?

编辑如果您打算回答这个问题,请至少阅读它。不要简单地看标题,然后谷歌'sqlinjectionphp',并将结果粘贴为答案首先,我很清楚有很多资源可用于如何最好地防止SQL注入(inject),但我的问题具体是关于是否只需很少的努力就足够了。我签约的一个组织最近被告知,他们之前的承包商开发的合作伙伴(PHP)网站被发现存在重大安全问题(我个人最喜欢的是在URL中使用字符串“紧急”,您可以获得未经身份验证的信息访问站点中的任何页面...)我被要求审查PHP站点的安全性并突出显示任何主要问题。我从以前使用该站点的经验中知道,编码标准确实很糟糕(例如,跨页面重复的大量代码,差异约为5%,数百

php - str_replace 干扰

我正在尝试使用str_replace将两个字母的语言缩写转换为完整的单词。我遇到的问题是它们在回显时会相互影响。$lang=str_replace("en","English",$lang);$lang=str_replace("es","Spanish",$lang);$lang=str_replace("pt","Portuguese",$lang);$lang=str_replace("fr","French",$lang);$lang=str_replace("de","German",$lang);$lang=str_replace("it","Italian",$lang)

php - str_replace() 不会用重音替换字符

我有一个非常长的html字符串,它由希腊语和英语文本组成,大部分单词都带有html标签。我过去曾成功地使用下面的函数从文本中删除希腊语重音符号,从而使大写字母变得漂亮。然而,在这段文本中,在某些字符之后,替换停止发生,文本返回时带有重音符号。我也尝试了一些我在网上找到的其他功能,但没有成功。有什么帮助吗?我使用的函数是:publicstaticfunctionstripAccents($str){$a=array('ά','έ','ή','ί','ύ','ό','ώ','ς','Ά','Έ','Ή','Ί','Ύ','Ό','Ώ');$b=array('α','ε','η','ι','

php - 如何以人类可读的格式显示数组?

如果我有一个如下所示的数组:$str='';if($_POST['first'])$str=$_POST['first'];if($_POST['second'])$str.=($str!=''?',':'').$_POST['second'];if($_POST['third'])$str.=($str!=''?',':'').$_POST['third'];if($_POST['fourth'])$str.=($str!=''?',':'').$_POST['second'];$str.=($str!=''?'.':'');这给了我这样的东西:乔、亚当、迈克。不过,我想在最后一项前

php - 为什么要同时使用 str_replace() 和 preg_replace()?

我是在Perl之后才开始了解PHP的,所以当我第一次发现preg_*函数时,我基本上只是使用它们。后来我读到str_replace()在处理文字文本时速度更快。所以我的问题是,当搜索模式不使用特殊字符时,preg_replace()不能像str_replace()一样高效吗?也许只是分析模式以在正则表达式和纯文本算法之间做出选择? 最佳答案 理论上是的,你是对的。PHP团队可能会调整preg_replace来分析传入的模式,然后在没有看到任何元字符的情况下使用str_replace的代码。假设分析不是太繁重,这可能会产生更好的性能结

php - str_replace ('<' ) 可以保护我们免受用户注入(inject)代码的侵害吗?

好的,我有一些用户输入,我做了一个echostr_replace('我想知道,无论如何用户是否可以破坏此过滤器?最初我认为这个脚本非常安全,但在阅读了一些关于php、字符集和安全性的文章后我开始怀疑它的健壮性。 最佳答案 这取决于输入的最终位置。例如,如果在某个时候你最终得到了一个像这样构造的(糟糕的)模板......">alink然后有人可以通过简单地使用以下输入来注入(inject)代码:javascript:do_whatever()即使输出通常不会回显到href字段中,像这样..."href="http://www.goog

PHP,从数组读取时str_replace出现问题

我是php的新手,我正在尝试编写一个脚本来读取CSV文件(file1.csv)并将文件中的单词与html文件(file2.html)中的单词进行比较,如果file2中有单词.html与file1.csv中的关键部分匹配它应该使用匹配的关键值更改file2.html内容..到目前为止我所做的是:$glossArray=array();$file_handle=fopen("file1.csv","r");while(!feof($file_handle)){$line_of_text=fgetcsv($file_handle,10000,';');$glossArray[$line_of

php - 在 PHP 中将 id=1&type=2 之类的字符串转换为数组的最快方法?

我需要把它改成:$arr['id']=1;$arr['type']=2; 最佳答案 使用:parse_str().voidparse_str(string$str[,array&$arr])ParsesstrasifitwerethequerystringpassedviaaURLandsetsvariablesinthecurrentscope.例子: 关于php-在PHP中将id=1&type=2之类的字符串转换为数组的最快方法?,我们在StackOverflow上找到一个类似的问题

PHP 使用 str_replace 替换或删除空行的简单方法

$line-out=str_replace('\r','',str_replace('\n','',$line-in));以上对我有用,但是,我在某处看到了一个[\n\r]示例,但我似乎找不到它。我只想去掉所有空白行。以上是在foreach循环中。感谢教导。 最佳答案 你不应该在变量名中使用-;)$line_out=preg_replace('/[\n\r]+/','',$line_in);$line_out=str_replace(array("\n","\r"),'',$line_in);手动输入:http://php.net/