草庐IT

PHP 从 iframe/对象嵌入数组中提取 youtube 视频 ID?

我有一个像这样的youtubeiframe/对象数组:[0]=>[1]=>[2]=>[3]=>请注意,嵌入方法可能会有所不同(通常为,偶尔为)(由于外部数据源)。我如何/什么是最可靠的方法来提取每个视频的URL(例如vQSRNYgiuMk或jm1S43a-e3Y)?最终我想得到这样一个数组:[0]=>"szL_PVuzWp0"[1]=>"jm1S43a-e3Y"[2]=>"7fTploFSbXA"[3]=>"vQSRNYgiuMk" 最佳答案 不要请使用正则表达式:$dom_document=newDOMDocument();$do

php - 正则表达式 (preg_match)

这是无效的代码:Hyperlink';}?>我想要的是,如果链接前后有空格,它就不应该显示链接。所以现在它应该什么都不显示。但它仍然显示链接。 最佳答案 这样也可以匹配ID12,因为3不是空格,http:/的/也不是空格。你可以试试:preg_match_all('/^\S*\/videosite\.com\/(\w+)\S*$/i',$matchWith,$matches); 关于php-正则表达式(preg_match),我们在StackOverflow上找到一个类似的问题:

php - 奇怪的 PHP 正则表达式通知

我正在尝试编写一个将错误文件名转换为正确文件名的函数。我尝试使用正则表达式来完成此操作,它运行良好但每次尝试更正名称时都会发出通知。这是我的代码:privatefunctionclean_filename($filename){$reserved=preg_quote('\/:*?"|','/');$filename=preg_replace("/([\\x00-\\x20\\x7f-\\xff".$reserved."])/e","_",$filename);return$filename;}通知是:Notice:Useofundefinedconstant_-assumed'_'i

php - 在我的 PHP MVC 框架中路由

几年来,我一直在为PHP开发我自己的轻量级MVC框架。我可能会在某个时候根据开源许可发布。这是我用来处理路由的方法:functionroutes($routes,$uriPath){//LoopthrougheveryrouteandcompareitwiththeURIforeach($routesas$route=>$actualPage){//Createaroutewithallidentifiersreplacedwith([^/]+)regexsyntax//E.g.$route_regex=shop-please/([^/]+)/moo(originallyshop-pl

php - 在标签上拆分字符串,删除空结果

请考虑以下事项。我在{tags}上拆分一个字符串,它是花括号,中间有任意数量的字符(和/或数字):$string="Lorem{FOO}ipsum{BAR}dolor{FOO:bar}samet";$temp=preg_split('/(\{.*?\})/',$string,-1,PREG_SPLIT_DELIM_CAPTURE);结果数组($temp)是:Array([0]=>Lorem[1]=>{FOO}[2]=>ipsum[3]=>{BAR}[4]=>dolor[5]=>{FOO:bar}[6]=>samet)但是,如果$string以标签结尾,比如:$string="Lorem

php - 用于检查 URL 是否为短 URL 的 Regex/php 代码

我正在尝试创建一个php函数来检查传递的URL是否为短URL。像这样:/***CheckifaURLisashortURL**@paramstring$url*returnbool*/function_is_short_url($url){//Codegoeshere}我知道更简单和可靠的方法是检查301重定向,但此功能旨在保存外部请求仅用于检查。该函数也不应检查URL缩短器列表,因为这将是一种可扩展性较差的方法。我在想的一些可能的检查也是如此:URL总长度-最多30个字符最后一个“/”后的URL长度-最多10个字符协议(protocol)(http://)后“/”的数量-最多2主机的

php - 在 PHP 中删除开始和结束 <br> 标签

快速提问:删除的最佳方法是什么?和$string开头和结尾的标签?我目前正在使用这段代码,但它似乎并没有只删除标签。$str=preg_replace('{^(|ANDnbsp;)+}i','',$str);$str=preg_replace('{(|ANDnbsp;)+$}i','',$str);编辑:附加信息此代码处理从旧CMS导入的信息。因此,我知道我需要替换的唯一两个标签是和.此外,我只想在$string的开头和结尾替换这些标签。,不在两者之间。我不需要处理任何其他标签;格式错误的HTML或其他属性。本质上,我只想扩展我建议的代码,以便标签以及被替换.对于没有提供足够的信息,我

php - preg_replace 除字符串开头的 + 以外的所有非数字字符

假设输入字符串+123-321+123345,使用PHP的正则表达式函数我想删除所有非数字([^\d])字符,除了开头的+字符。+可能存在也可能不存在,因此给定字符串123-321+123345结果应该相同(123321123345)。目前的解决方法是检查+,然后运行​​preg_replace('/[^\d]+/','',$string),但我确信必须有一个纯正则表达式的解决方案来解决这个问题。谢谢! 最佳答案 试试这个/(?\D与[^\d]相同(?是一个负向后视,确保在非数字之前没有字符串的开头。这个表达式将匹配所有不是字符串开

php - 正则表达式删除带数字的单词

我想删除产品名称中带有数字(引用)或小字(2个字符或更少)的词,但找不到合适的正则表达式。一些例子:“Chaineanti-rebondECS-2035”应该变成“Chaineanti-rebond”“Guide35cmOregonIntenz”应该变成“GuideOregonIntenz”“TronçonneusesansfilAKE30LI-Guide30cm36V”应该变成“TronçonneusesansfilAKE-Guide”我在PHP中这样做:preg_replace('#([^A-Za-z-]+)#','',''.wd_remove_accents($modele).'

php regex - 干净的文件名

我正在寻找优雅的正则表达式来清理括号,内容看起来像文件名。[Nibhjusto]elitNulla[link.pdf]auctoripsummolestie(link.pdf)Condimentumeuismodnon[link.xls](link.xls)[link.doc](link.doc)tempusIn[Curabitur]et结果应该是:NibhjustoelitNullaauctoripsummolestieCondimentumeuismodnontempusInCurabituret我相信一定有一个捷径可以做到这一点。(文件的意思很简单-包括点。不需要句子检查。)感谢