phpスクリプトでmysqliクエリを使用して、mysqlデータベーステーブルからデータをプルし、Webサイトに表示しています。
一部のデータにはリンクが含まれていますが、それらは特定の形式でフォーマットされています。リンクは次のようにフォーマットされます#Link Name#http://www.link.com
したがって、最初#
に名前を設定し、2番目#
にハイパーリンクを設定します。
これを解析してWebサイトに通常のハイパーリンクとして表示するには、phpスクリプトが必要です。
これがphpスクリプトです:
<?php
include('mysql_connection.php');
$c = mysqlConnect();
$locale = $_GET['locale'];
$last_news_id = $_GET['news_id'];
sendQuery ("set character_set_results='utf8'");
sendQuery ("set collation_connection='utf8_general_ci'");
if (strcmp($locale,"en") != 0)
$locale = "en";
$result = sendQuery("SELECT * FROM news WHERE id > ".$last_news_id." and locale = '" . $locale . "' ORDER BY id DESC LIMIT 10");
echo '<table width=\"100%\">';
while($row = mysqli_fetch_array($result, MYSQL_NUM))
{
echo '<tr><td width=\"100%\"><b>Date: </b>'.$row[2].'</td></tr>';
echo '<tr><td width=\"100%\">'.nl2br($row[3]).'</td></tr>';
echo '<tr><td width=\"100%\"><hr style="height: 2px; border: none; background: #515151;"></td></tr>';
}
echo '</table>';
mysqliClose($c);
?>
編集:私は行を追加しました、そしてそれはある種の問題を助けました:
echo '<tr><td width=\"100%\">'.preg_replace('/#([^#]*)#.*/', '<a href="$2" target="_blank">$1</a>', $row[3]).'</td></tr>';
ハイパーリンクではなく、既存のページが開きます。$ 2はハイパーリンク、つまり2番目の#の後に続く値である必要があると思います。ただし、これをphpにコーディングする方法が完全にはわかりません。