どのようにすれば、この問題が解決できるか教えてください。
<?php
$str = "二 一 教 育 の 目 標 と も に 健 康 な 国 民 の 育 成 を 期 し て 行 わ れ な け れ ば な ら な い も の と す る こ と 。 ( 第 一 条 関 係 ) 教 育 は 、 人 格 の 完 成 を 目 指 し 、 平 和 で 民 主 的 な 国 家 及 び 社 会 の 形 成 者 と し て 必 要 な 資 質 を 備 え た 心 身 1 幅 広 い 知 識 と 教 養 を 身 に 付 け 、 真 理 を 求 め る 態 度 を 養 い 、 豊 か な 情 操 と 道 徳 心 を 培 う と と も に 、 健 る も の と す る こ と 。 ( 第 二 条 関 係 ) 教 育 は 、 そ の 目 的 を 実 現 す る た め 、 学 問 の 自 由 を 尊 重 し つ つ 、 次 に 掲 げ る 目 標 を 達 成 す る よ う 行 わ れ";
$txt = preg_replace("/([^a-zA-Z0-9])\s+/", "\1", $str);
echo $txt;
?>
"\1" ではなく "$1"。ついでに utf8 指定子 u をパターンに付ける。
<?php $str = "二 一 教 育 の 目 標 と も に 健 康 な 国 民 の 育 成 を 期 し て 行 わ れ な け れ ば な ら な い も の と す る こ と 。 ( 第 一 条 関 係 ) 教 育 は 、 人 格 の 完 成 を 目 指 し 、 平 和 で 民 主 的 な 国 家 及 び 社 会 の 形 成 者 と し て 必 要 な 資 質 を 備 え た 心 身 1 幅 広 い 知 識 と 教 養 を 身 に 付 け 、 真 理 を 求 め る 態 度 を 養 い 、 豊 か な 情 操 と 道 徳 心 を 培 う と と も に 、 健 る も の と す る こ と 。 ( 第 二 条 関 係 ) 教 育 は 、 そ の 目 的 を 実 現 す る た め 、 学 問 の 自 由 を 尊 重 し つ つ 、 次 に 掲 げ る 目 標 を 達 成 す る よ う 行 わ れ"; $txt = preg_replace("/([^a-zA-Z\d])\s+/u", "$1", $str); echo $txt;
ありがとうございます。おかげさまで上手く変換できました。