0

我正在查看一些具有

preg_match('/\[youtube ([[:print:]]+)\]/', $content, $matches)

$content可能是一个链接,例如 *http://www.youtube.com/watch?v=some_video*

我可以看到它正在过滤 youtube 视频,但我不明白它是如何做到的。更具体地说,它的作用是[:print:]什么?

4

2 回答 2

1

这是一个盒子绘图的实验。

/\[youtube ([[:print:]]+)\]/
│ │        │ │          │
│ │        │ │          └─ close the matched string
│ │        │ └──────────── start the character class
│ │        └────────────── open the matched string
│ └─────────────────────── literal square bracket
└───────────────────────── start the regexp

重要的是括号内的部分。这会被您的编程语言匹配以重新用作变量,以便您可以构建替换 URL。

于 2012-08-30T13:02:04.527 回答
0

你的答案在这里:http ://www.php.net/manual/en/function.preg-match-all.php#81559

“[:print:] - 打印字符,包括空格”

于 2012-08-30T13:00:01.913 回答