私は、2行のコードと関数を簡単に実装しようとしていると思っていましたが、これは失敗であることが判明しました。BBCode、preg_replace、および名前付きキャプチャグループ
私のウェブページでは、[text]1[/text]
と入力できます。そのIDのタイトルをプルすることができます。
function textFormat($text) {
$raw = array(
'\'\[text\](?P<id>.*?)\[/text\]\'is'
);
$out = array (
'<a href="index.php?function=getData&reference=text&id=$1">' . getTextTitle() . '</a>'
);
preg_replace($raw, $out, $text);
return $text;
}
function getTextTitle($id) {
$sql = mysql_query("SELECT title FROM text WHERE id = $id");
return mysql_result($sql);
}
だから、ここ美しい小さな問題があります:1が言うことができるように、私は引用符で素晴らしい作品数値というタイトルの変数と関数を呼び出すんだけど、私たちが知っているように、PHPにはありませんそうですね。だから、名前のついたグループを選んだ。 $regs['id']
を使用すると動作しません。
何か間違っていますか?
私はこれについて間違った方法をしていますか?
これは、HTMLで許されるようにタグを返すことを意図していますが、PREを使用するとこれに少し不安があります。これが原因で起こり得る混乱をおかけして申し訳ありません。 –