草庐IT

filtered_str

全部标签

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

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

php - 如何传递对回调函数的引用以在带有额外参数的 array_filter 中使用?

我的方法的签名如下所示:publicfunctionProgramRuleFilter(&$program,$today=null){当我这样调用它时,$programs=array_filter($programs,array($this,'ProgramRuleFilter'));一切都按预期进行。ProgramRuleFilter方法更新$program数组,如果成功则返回true/false,从而正确过滤$programs。但是,现在我想向过滤器传递一个额外的参数,$today。我该怎么做?我正在尝试像这样调用它:$programs=array_filter($programs

php - 在 Foreach 循环中使用 FILTER() - PHP Goutte

我有这个代码require_once'vendor/autoload.php';使用Symfony\Component\DomCrawler\Crawler;$html=HelloWorld!ThisisspanHelloCrawler!ThisisspanHTML;$crawler=newCrawler($html);foreach($crawler->filter('body')as$domElement){$domElement->filter('span');}我遇到了这个错误。Fatalerror:CalltoundefinedmethodDOMElement::filter

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 使用 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/

php - array_filter 基于来自另一个数组的键

我有两个数组:$arr1=array('a'=>10,'b'=>20);$arr2=array('a'=>10,'b'=>20,'c'=>30);如何使用array_filter从$arr2中删除$arr1中不存在的元素?就像我例子中的“c”... 最佳答案 有一个函数专门用于此目的:array_intersect():array_intersect—Computestheintersectionofarrays$arr2=array_intersect($arr1,$arr2);如果你想比较键,而不是像array_intersec

php - 无法使用 str_replace 删除特殊字符

我有一个关于str_replace的小问题。我有一个带有破折号(-)的字符串,如下所示:Iwanttoremove-thedashhtml输出是Iwanttoremovethe–thedash我想这样做:$new_string=str_replace('-','',$string);我尝试用html_entity_decode解析字符串,用htmlspecialchars解析要删除的字符,但没有任何结果。我做错了什么?-编辑-这是我的脚本的完整代码:$title='SuperMarioGalaxy2-DebutTrailer';//FetchedfromtheDB,inth

PHP FILTER_VALIDATE_EMAIL 最大长度

使用PHP的FILTER_VALIDATE_EMAIL时允许的最大字符长度是多少?我正在测试我的脚本以测试允许的最大长度(200)的功能,但是当我使用超过200个字符的电子邮件时,PHP的FILTER_VALIDATE_EMAIL返回false。 最佳答案 如果电子邮件确实有效,那么它应该可以很好地处理您的200多个字符的电子邮件数据。您确定提供的电子邮件地址有效吗?有效电子邮件的条件:电子邮件地址的最大长度为254个字符。每个电子邮件地址都由两部分组成。本地部分在“@”符号之前,域部分在它之后。在“user@example.com

php - FILTER_VALIDATE_BOOLEAN 的输入值为 false

我希望输入只接受“真”或“假”,所以我尝试使用FILTER_VALIDATE_BOOLEAN来做到这一点,if(!filter_var('false',FILTER_VALIDATE_BOOLEAN)){$error=true;echo'error';}它回显了错误消息,但它不应该。我怎样才能让它正确? 最佳答案 看看手册http://www.php.net/manual/en/filter.filters.validate.php您的语法/用法是正确的。filter_var('false',FILTER_VALIDATE_BOOL

PHP - 使用 array_filter 从哈希表(数组)中删除项目

在PHP中,我知道没有正式的方法可以删除已放入数组中的项目。但是必须有一个“最佳方法”来解决我的问题。我相信这可能在于array_filter函数。本质上,我有一个购物车对象,它在哈希表中存储商品。想象一下,您一次只能购买一件商品。我愿意add_item(1);add_item(2);remove_item(1);get_count()仍然返回2。var$items;functionadd_item($id){$this->items[$id]=newmyitem($id);}functionremove_item($id){if($this->items[$id]){$this->i