草庐IT

get_matching_blocks

全部标签

php - preg_match 和长字符串

这是我试图用来在文本文件中查找特定文本的preg_match。if(preg_match($regexp,$textFile,$result)>0){echo"Found".$result[0];}else{echo"Notfound";}但是,结果总是Found,仅此而已。结果数组为空。现在我读到preg_match不能处理长字符串。我的文本文件大约有300KB,所以我猜大概有300000个字符。我100%确定搜索到的字符串在文本文件中,并且preg_match函数返回值大于0的事实意味着它找到了它,但它没有以某种方式将它放入结果数组中。所以我的问题是,如何让它发挥作用?regexp

php - 如何在 PhpDoc 文档 block 中使用 NetBeans 和 SVN @version 标记?

我使用NetBeans作为我的phpide,我在文档block中看到了@version标签,看起来像这样:@version$IdsomeinfoandtimestampNetBeans是否有办法在每次提交时自动更新它?还是我完全忽略了这个标签的要点? 最佳答案 嗯,不,Netbeans没有办法。但是颠覆确实...确切的标签是$Id$,它对应于svn属性svn:keywords=Id。找到配置文件(在Linux上,它通常在~/.subversion/config下。在Windows上,我在~\ApplicationData\Subve

php - preg_match 模式查找 <html> 和 </html> 标签之间的字符串内容

我正在开发一个PHP脚本来读取电子邮件的内容,并提取某些信息以存储在数据库中。使用imap_fetchbody($imap_stream,$msg_number,1),我能够获取电子邮件的正文。在某些情况下(尤其是从手机以短信形式发送的电子邮件),电子邮件的正文如下所示:===------=_Part_110734_170079945.1283532109852Content-Type:text/html;charset=UTF-8;Content-Transfer-Encoding:7bitContent-Disposition:inlineMultimediaMessageSMSt

PHP preg_match 需要确保单词之间只允许一个空格字符

基本上我需要一个preg_match来确保每个单词之间只允许一个空格字符(如果有多个单词)。我现有的规则是:(^[A-Za-z\s]+$)谢谢。 最佳答案 这取决于你所说的“单词”是什么意思,但假设你指的是A-Z或a-z中的字母,你可以试试这个:^[a-zA-Z]+([a-zA-Z]+)*$请注意,\s不是表示空格字符-它表示任何空格,包括换行符。 关于PHPpreg_match需要确保单词之间只允许一个空格字符,我们在StackOverflow上找到一个类似的问题:

php - 任何更快、更简单的 php preg_match 替代品

我使用的是cakephp1.3,我有用户提交文章的文本区域。提交时,我想查看文章中的某些关键词,并为文章添加相应的标签。我在考虑preg_match,但是preg_match模式必须是字符串。所以我将不得不遍历一个数组(大)。有没有更简单的方法来插入模式的关键字数组。非常感谢您的帮助。谢谢。 最佳答案 我建议将您的关键字数组视为哈希表。小写文章文本,按空格展开,然后遍历展开数组的每个单词。如果该词存在于您的哈希表中,将它插入一个新数组,同时跟踪它出现的次数。在这种情况下,我运行了一个快速基准测试,将正则表达式与哈希表进行比较。用正则

php - 使用 php 正则表达式解析 block

我正在尝试用PHP编写一个(我认为)非常简单的RegEx,但它不起作用。基本上我有一个这样定义的block:%%%%blockname%%%%stuffgoeshere%%%%/blockname%%%%我不太擅长RegEx,但这是我尝试过的:preg_match_all('/^%%%%(.*?)%%%%(.*?)%%%%\/(.*?)%%%%$/i',$input,$matches);它返回一个包含4个空条目的数组。我想除了实际工作之外,第三场比赛还需要某种指针,因为它应该等于第一场比赛?请赐教:) 最佳答案 您需要允许点匹配换行

php - 在 GET 变量中传递 URL 时禁止访问 403

我遇到这样的问题:403ForbiddenonPHPpagecalledwithurlencodedina$_GETparameter我收到“403禁止”错误当我像这样将url作为GET变量传递时http://script/test.php?url=https://stackoverflow.com/questions/ask但这没关系。http://script/test.php?url=stackoverflow.com/questions/ask即使我对url进行urlencode,它仍然会给我一个403。Apachemod_fcgid/2.3.6mod_auth_passthr

php - 使用 __set 和 __get 魔术方法实例化类

我正在自动加载我的类,并且想要一种在使用时动态实例化该类的方法。我不想在我的父类中有20个类实例化,而是想要一种在类被调用时实例化它的方法。例如:$this->template->render();将实例化$this->template=newTemplate();我试过了publicfunction__set($name,$value){return$this->$name;}publicfunction__get($name){$this->$name=new$name();}这似乎行不通,但我也认为我做错了。还有一个我无法弄清楚的问题是我的类驻留在\System命名空间中。我似乎

php - 是否可以在同一个 if block 中运行多个 elseif block ?

$foo=1;functionsomeFunction(){if($foo==0){//-------Willtest,won'texecutebar();}elseif($foo==1){//--Willtest,andexecutebaz();}elseif($foo==2){//--Doesn'ttestqux();}elseif($foo==3){//--Doesn'ttestquux();}else{//-------------Doesn'ttestdeath();}//------------------Theprogramwillskipdowntohere.}假设ba

php - 我如何将 preg_match 与字母数字和 unicode 接受一起使用?

我要用PHP建立一个多语言网站,需要有一个preg_match来传递所有Unicode字符和数字。即我需要它来传递英文字母、西类牙文字母、意大利文字母,正如您可能知道的那样,我不想传递其他字符,例如'"_-和...我想要这样的东西:$pattern='/^[unicodecharswithout\'-_;?]*$/u';if(!preg_match($pattern,$url))echo#error; 最佳答案 字母的Unicode属性是\pL所以在preg_match中:preg_match('/^\pL+$/u',$string