草庐IT

php - 比较大量相似文本的最简单方法是什么?

这里有点开放式问题,因为我主要是在寻找意见。因为我想搬家,所以我正在从craigslist获取我所在地区的apt广告的一些数据。我的目标是能够比较项目,看看什么时候是重复的,这样我就不会整天都在看相同的3个广告。问题是他们稍微改变了一些东西以通过CL的过滤器。我已经有一些正则表达式来查找要比较的地址和电话号码,但这不是最可靠的。有没有人熟悉一种简单的方法来比较整个文档并可能显示一些简单的东西,比如“80%相似”?我想不出任何随手可得的东西,所以我怀疑我必须从头开始制定我自己的解决方案,但我认为值得向stackoverflow的集体天才求教:)首选语言/方法是python/php/per

用于浏览器代理字符串的 PHP 正则表达式

我需要再次帮助我尝试做一些正则表达式(仍在大量学习中)。我再次尝试通过解析用户代理来学习。现在正在尝试做Firefox...考虑这些用户代理:-Mozilla/5.0(Windows;U;WindowsNT6.0;de;rv:1.9.0.15)Gecko/2009101601Firefox2.1(.NETCLR3.5.30729)-Mozilla/5.0(X11;U;Linuxi686;en-US;rv:1.8.1.20)Gecko/20081217Firefox(2.0.0.20)-Mozilla/5.0(Windows;U;WindowsNT6.1;en-US;rv:1.9.1)G

php - Google 运算符的正则表达式

使用PHP,我试图通过支持类似Google的运算符来改进我网站上的搜索,例如关键字=自然/默认“关键字”或“搜索词组”=完全匹配关键字*=部分匹配为此,我需要将字符串拆分为两个数组。一个用于将确切的单词(但没有双引号)放入$Array1()并将其他所有内容(自然和部分关键字)放入Array2()。对于以下字符串,哪些正则表达式可以实现这一点?示例字符串($string)todayi'm"trying"outa*"googlesearch""test"想要的结果$Array1=array([0]=>trying[1]=>googlesearch[2]=>testing);$Array2=

php - 允许空格的正则表达式(对于电话号码正则表达式)

我有这个正则表达式:preg_match("#^([0-9]+)$#",$post['telephone'])谁只允许数字(对于法语类型的电话号码0123456789),但我想允许空格。例如允许这种类型的字符串:“0123456789”。你能帮帮我吗? 最佳答案 例如,如果您希望恰好有8位数字,但仍允许任意数量的空白字符,则以下内容非常好:^(?:\s*\d){8}$或者,如果你也想允许破折号:^(?:\s*-*\s*\d){8}$ 关于php-允许空格的正则表达式(对于电话号码正则表达

php - PCRE: ^|$ 和\A|\Z?

在PCRE中,有什么区别:^和\A,以及$和\Z?我记得读过有细微差别,但不记得到底是什么。 最佳答案 默认情况下,两者没有区别,都是表示字符串的开始或结束。但是,如果您使用m修饰符,则^和$将分别匹配行的开头和结尾。 关于php-PCRE:^|$和\A|\Z?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6970552/

PHP、正则表达式和 preg_replace,需要一些帮助

我需要一些更换的帮助:Sometext[id]为了...Sometext|id我是正则表达式的新手,我只是不知道如何安全地将文本保存在[]中...而且我不想使用str_replace和trim...我必须使用表达式(不要问为什么:D)...有人可以帮助我吗? 最佳答案 这应该适用于非嵌套方括号:preg_replace("/\[(.*?)\]/","|$1","Sometext[id]")输出Sometext|id 关于PHP、正则表达式和preg_replace,需要一些帮助,我们在S

php - 正则表达式 : Converting non-block elements with <br/> to <p> in PHP

有人问了similarquestion,但接受的答案不符合我的要求。输入:boldtextlinksomecodeI'masinglebr,leavemealone.预期输出:boldtextlinksomecodeI'masinglebr,leavemealone.我上面提到的接受的答案将多个br转换为p,最后用另一个p包装所有输入。但就我而言,您不能将pre包装在p标签内。谁能帮忙?更新此编辑之前的预期输出有点令人困惑。重点是:将多个br转换为一个(使用preg_replace('/()+/','',$str);实现)检查内联元素和未包装的文本(在这种情况下没有父元素,输入来自$_

php - 用 PHP 正则表达式替换单词或单词组合

我有替换词的map:$map=array('word1'=>'replacement1','word2blah'=>'replacement2',//...);我需要替换字符串中的单词。但是只有当字符串是单词时才应该执行替换:它不在其他单词ex的中间。textword1不会被替换为replacement1,因为它是另一个标记的一部分。必须保存分隔符,但应替换分隔符之前/之后的单词。我可以使用正则表达式将字符串拆分为单词,但是当映射值的标记很少时(例如word2blah),这不起作用。 最佳答案 $map=array('foo'=>'

php - 正则表达式:一起删除非字母数字字符、多个空格和 trim()

我有一个$text来去除所有非字母数字字符,用单个空格替换多个空格和换行符,并消除开始和结束空格。到目前为止,这是我的解决方案。$text='some-text!!fortesting?';//$texttoformat//stripoffallnon-alphanumericchars$text=preg_replace("/[^a-zA-Z0-9\s]/","",$text);//Replacemultiplewhitespacesbysinglespace$text=preg_replace('/\s+/','',$text);//eliminatebeginningandend

php - 从php中的字符串中删除俄语字母

如何从PHP中的字符串中删除所有俄语字母?或者相反,我只想保留。英文字母、空格、数字和所有符号如!@#$%^&*(){}":?>~'"我怎样才能做到这一点,谢谢。我弄明白了,我用###替换了所有的俄罗斯cherecters然后我从头到尾进行子串。$desc=preg_replace('/[а-я]+/iu','###',$desc);$start=strpos($desc,'###');$end=strrpos($desc,"###");if($start!==false){$descStart=substr($desc,0,$start);$descEnd=substr($desc,