Vous devez backslash les deux côtés, tous les crochets doivent être échappés.
Cela a fonctionné en Python, peut nécessiter des modifications pour PHP:
>>> re.compile('\[\[(.*?)\]\]')
<_sre.SRE_Pattern object at 0xb747ebf0>
>>> r=_
>>> r.search(text)
<_sre.SRE_Match object at 0xb7469560>
>>> r.findall(text)
['\xe6\x97\xad\xe5\xb7\x9d\xe5\xb8\x82|\xe6\x97\xad\xe5\xb7\x9d', '\xe3\x82\xa2\xe3\x82\xa4\xe3\x83\x8c', '\xe6\x97\xad\xe5\xb7\x9d\xe5\xb8\x82\xe6\x97\xad\xe5\xb1\xb1\xe5\x8b\x95\xe7\x89\xa9\xe5\x9c\x92|\xe6\x97\xad\xe5\xb1\xb1\xe5\x8b\x95\xe7\x89\xa9\xe5\x9c\x92']
Hmm, peut-être que je me trompe d'avoir à échapper aux supports droit carrés, est avéré qu'il n'a pas été nécessaire en Python.
Assurez-vous que vous chargez vos fichiers texte dans le même encodage de caractères dans lequel ils ont été enregistrés. S'il a été enregistré dans Shift-JIS et que vous essayez de le charger en UTF-8, la chaîne sera effectivement impossible. – Andrew
Avez-vous essayé d'utiliser un [parseur MediaWiki] (http://stackoverflow.com/questions/324758/open-source-parser-code-for-mediawiki-markup) au lieu d'une expression régulière? – Gordon