草庐IT

character-set

全部标签

php - 警告 : preg_match(): Compilation failed: unrecognized character after (? 或 (?-

我有一个以前的程序员编写的代码,一个抛出编译错误的正则表达式preg_match:$regex_t="/".$op."(?\\>[^".$op.$cl."]+)*".$cl."/s";preg_match($regex_t,$text,$inner);我收到的警告是:Warning:preg_match():Compilationfailed:unrecognizedcharacterafter(?or(?-atoffset4另外,我想提一下var_dump($regex_t)的值是:string'/\{(?\>[^\{\}]+)*\}/s'(length=21)

php - 如何将 PHP 的 __get() 和 __set() 用于我的类中定义的字段?

我很好地阅读了PHPspecsonoverloading,并且大多数示例似乎旨在简单地允许定义自定义字段(类似于stdClass)。但是我的类中定义的私有(private)字段呢?应该如何检索/分配这些?我可以切换可能的值并对某些值采取行动:classA{private$name;private$age;publicfunction__get($var){switch($var){case'name':return$this->name;break;case'age':return$this->age+10;//justtodosomethingdifferent;)break;def

php - set_select() 辅助函数不起作用

我使用了如下代码,selectcurrency>AED>SAR>MAD>TRY但不幸的是,在表单验证失败后它没有显示选定的值。为什么这个基本的set_select()方法不起作用?我在其他一些领域使用过它并且一切正常 最佳答案 在使用set_value()、set_select()、set_checkbox()、set_radio()之前,你即使不需要/验证,也必须将这些字段传递给验证。 关于php-set_select()辅助函数不起作用,我们在StackOverflow上找到一个类似

PHP 魔术方法 __set 和 __get

这样做会被认为是好的做法吗...我的A类具有以下定义:classA{private$_varOne;private$_varTwo;private$_varThree;public$varOne;publicfunction__get($name){$fn_name='get'.$name;if(method_exists($this,$fn_name)){return$this->$fn_name();}elseif(property_exists('DB',$name)){return$this->$name;}else{returnnull;}}publicfunction__s

php - preg_match 错误 : Compilation failed: missing terminating ] for character class

我在for循环中读取了一系列.txt文件。我在一些文本文件中放置了一个token,格式为[widget_]因此,例如,文本文件的全部内容可能是[widget_search]。另一个文本文件可能包含内容[widget_recent-posts]。其他人可能只有html格式的文本,根本没有token。在for循环中,我正在执行preg_match以查看文本文件的内容是否与我的标记模式匹配。如果匹配,我将执行一些条件代码。但是,当我运行跟踪测试以查看是否存在匹配时出现错误。错误是:警告:preg_match()[function.preg-match]:编译失败:在C:\xampplite\

PHP 正则表达式 : Remove words less than 3 characters

我正在尝试从字符串中删除所有少于3个字符的单词,特别是使用RegEx。以下不起作用,因为它正在寻找双空格。我想我可以事先将所有空格转换为双空格,然后再将它们转换回来,但这似乎效率不高。有什么想法吗?$text='anofandthensomeaneehalvedororwhenever';$text=preg_replace('@[a-z]{1,2}@','',''.$text.'');echotrim($text); 最佳答案 删除短词你可以使用这个:$replaced=preg_replace('~\b[a-z]{1,2}\b\

php - 使用 mysql_set_charset ('utf8' ) 函数后用 UTF-8 替换字符

我将所有mysql表转换为utf-8_unicode并开始使用mysql_set_charset('utf8');函数。但在此之后,一些字符如Ş、Ö开始看起来像Ö、Åž如何将mysql中的这种字母替换为UTF-8格式?很快,我能找到所有这些字符的列表来替换吗?编辑:他实际上在这篇文章中解释了这个问题,但我实际上无法正确理解它,哈哈http://www.oreillynet.com/onlamp/blog/2006/01/turning_mysql_data_in_latin1_t.html 最佳答案 你不需要那样做。只需在数据库连

php - 在 CodeIgniter 中收到 "Disallowed Key Characters"错误

我收到以下消息:DisallowedKeyCharacters并且生成该消息的字符串似乎是__utmt_~42我只是想加载页面,但我终究无法弄清楚为什么会这样。它不知从何而来。我怎样才能找到它的来源? 最佳答案 按照以下步骤操作在/system/core/Input.php上搜索function_clean_input_keys将此exit('DisallowedKeyCharacters.');更新为exit('DisallowedKeyCharacters.'.$str); 关于ph

PHP session.cookie_secure : Disables sessions when set to true

当我设置以下配置时:ini_set("session.cookie_secure",1);我的整个应用程序的session已禁用,我无法再写入或读取session变量。$sessionName="us";session_name($sessionName);ini_set('session.cookie_httponly',1);ini_set('session.entropy_file','/dev/urandom');ini_set('session.hash_function','whirlpool');ini_set('session.use_only_cookies',1);

php - 正则表达式 : same character 3 times

我想要一个正则表达式(在php中)对此(相同字符3次):aa=>falseaaa=>truebaaa=>trueaaab=>trueaaaaaab=>truebaaab=>truebabababa=>false对于任何字符,不仅仅是'a'和'b'。 最佳答案 您可以使用back-references在正则表达式中/(.)\1\1/ 关于php-正则表达式:samecharacter3times,我们在StackOverflow上找到一个类似的问题: https