腦友記廣場 -> 新手上路 -> 點樣自動加入日期哩 登錄 -> 註冊 -> 回復主題 -> 發表主題

yuenlong 2006-11-29 00:18
例如 以下 Link,如何可以自動加入最後的日期哩

http://www.thestandard.com.hk/news_sec.asp?we_cat=2&d_str=20061128

因為我想最初的一個係 summary page, cat 的參數是固定,但係 d_str 是依日子改變

* business
* china
* metro
* focus
* opinion
* markets
* world
* sports
* entertainment


有想過用進入主網頁裡 http://www.thestandard.com.hk/
把以下一段 ( 就是左邊的 sections menu ) 改為一個 index pages

<map name="menuMap">
<area shape="rect" coords="55,4,122,20" href="news_sec.asp?we_cat=2&d_str=20061128">
<area shape="rect" coords="78,20,122,36" href="news_sec.asp?we_cat=3&d_str=20061128">
<area shape="rect" coords="76,37,122,53" href="news_sec.asp?we_cat=4&d_str=20061128">
<area shape="rect" coords="76,54,122,70" href="news_sec.asp?we_cat=9&d_str=20061128">
<area shape="rect" coords="63,71,122,87" href="news_sec.asp?we_cat=5&d_str=20061128">
<area shape="rect" coords="60,89,122,105" href="news_sec.asp?we_cat=10&d_str=20061128">
<area shape="rect" coords="76,107,122,123" href="news_sec.asp?we_cat=6&d_str=20061128">
<area shape="rect" coords="71,124,122,140" href="news_sec.asp?we_cat=8&d_str=20061128">
<area shape="rect" coords="14,141,122,157" href="news_sec.asp?we_cat=7&d_str=20061128">
</map>

yuenlong 2006-11-29 00:21
記得你講過有方法去弄日子的
http://elife.maninnet.com/read.php?tid=516&fpage=2

maninnet, 我估你是用這個把日子抽出來
我照用它,但為何我要把 [0-9]{1,8} 改為 [0-9]{8,8} 才能把日子 20061128 抽出來哩 ?
ereg("([0-9]{8,8})",$line,$matches);


anyway, 能夠把日子抽出來之後,就能夠弄一個 index page

QUOTE:

<html>
<meta http-equiv="Content-Type" content="text/html; charset=big5"/>
<head><title>The Standard</title></head>

<body>
The Standard<hr>
<?

$requesturl="http://www.thestandard.com.hk/";
$fp = fopen("$requesturl", "r");
while(!feof($fp))
{
$line .= fgets($fp,256);
}
fclose($fp);
ereg("([0-9]{8,8})",$line,$matches);
$newsdate = $matches[1];
echo($newsdate);
echo "<br>";
echo "<a href=stdview.php?we_cat=2&d_str=".$newsdate.">Business</a><br>";
echo "<a href=stdview.php?we_cat=3&d_str=".$newsdate.">China</a><br>";
echo "<a href=stdview.php?we_cat=4&d_str=".$newsdate.">Metro</a><br>";
echo "<a href=stdview.php?we_cat=9&d_str=".$newsdate.">Focus</a><br>";
echo "<a href=stdview.php?we_cat=5&d_str=".$newsdate.">Opinion</a><br>";
echo "<a href=stdview.php?we_cat=10&d_str=".$newsdate.">Markets</a><br>";
echo "<a href=stdview.php?we_cat=6&d_str=".$newsdate.">World</a><br>";
echo "<a href=stdview.php?we_cat=8&d_str=".$newsdate.">Sports</a><br>";
echo "<a href=stdview.php?we_cat=7&d_str=".$newsdate.">Entertainment</a><br>";
?>
<hr>
Powered by ManInNet<br>
</body>
</html>

maninnet 2006-11-29 02:36
[0-9]{1,8}
表示 0123456789 組成, 1 至 8 個 characters 的 string.
[0-9]{8,8} 表示 8 個 characters 組成的 string.

maninnet 2006-11-29 02:38
為保險一點, 省得網頁中有其他 8 位數字, 建議改為:
ereg("d_str=([0-9]{8,8})\">",$line,$matches);

yuenlong 2006-11-29 21:37
咁樣 substr($newsdate,4,4). 又點解哩
從右向左在 $newsdate 取 4 個數字,點解要 4,4 一起哩 ?

因為我想把 newsdate 20061129 代回一個日期 (eg. 29-Nov,2006 或簡單一點 29/11/2006) 放響 主題旁邊

maninnet 2006-11-29 22:23
QUOTE:
引用第4樓yuenlong2006-11-29 21:37發表的「」:
咁樣 substr($newsdate,4,4). 又點解哩
從右向左在 $newsdate 取 4 個數字,點解要 4,4 一起哩 ?

因為我想把 newsdate 20061129 代回一個日期 (eg. 29-Nov,2006 或簡單一點 29/11/2006) 放響 主題旁邊


上述例子是從第 4 個 character 取之後 4 個 characters.

$newsdate = "20061129" 變為 2006/11/29 可用

substr($newsdate,0,4)."/".substr($newsdate,4,2)."/".substr($newsdate,6,2)

yuenlong 2006-11-30 09:32
http://www.thestandard.com.hk/news_detail.asp?pp_cat=2&art_id=33037&sid=11117123&con_type=3

呢份報紙真係老土,新聞中間會利用 table + align right 去加入相片,但係我如果刪去 table 語法的話,相片就不會被放於右邊,而是被插在一些文字的中間。

ies will reallocate their respect</span><TABLE id="Table2" cellSpacing="0" cellPadding="9" width="250" align="right" border="0" vAlign="top"><TR><td><IMG src="/newsimage/20061130/ZHAOJIN.jpg"></TD></tr></table><SPAN class="bodyCopy">ive share distributions so

到我做文字版時,結果會變成 " respect [圖片] ive " ....

1. 可以把 table 的一段抽出來,放到最後 ?
2. 直情把 img 加入 align=right 的?

...

maninnet 2006-11-30 21:18
第一次見有人咁用 html, 又處理得幾好. 等我睇多幾日先.

yuenlong 2006-12-01 00:57
我想...用 $image = ereg("<table>及<img src>(.*)</table></img> ",$line,$matches);
去一個新 variable ( ie. $image )

然後響最後 show 出來,好似 d mag 咁。


(我明明 01:18 am 回復,論壇個 time 係 00:57分喲 )

yuenlong 2006-12-04 12:40
QUOTE:
引用第8樓yuenlong2006-12-01 00:57發表的「」:
我想...用 $image = ereg("<table>及<img src>(.*)</table></img> ",$line,$matches);
去一個新 variable ( ie. $image )

然後響最後 show 出來,好似 d mag 咁。

.......



請問有什麼方法可以把文章中的 <table> 或者 <IMG> 抽出來放去最後哩 ? 因為 IMG 都在 table 裡頭,而文章會出現一至二次的


QUOTE:
<TABLE id="Table2" cellSpacing="0" cellPadding="9" width="250" align="right" border="0" vAlign="top"><TR><TD><IMG src="/newsimage/20061130/STREET.jpg"><BR><FONT size="1"><!--caption here --></FONT></td></TR></TABLE>


QUOTE:
<TABLE id="Table2" cellSpacing="0" cellPadding="9" width="250" align="right" border="0" vAlign="top"><TR><td><IMG src="/newsimage/20061130/ZHAOJIN.jpg"></TD></tr></table>

maninnet 2006-12-06 12:51
可以使用
preg_match_all

假設 link 是原檔案內容, 則

preg_match_all("/<img src=(.*?)>/is,$line,$matches);

$matches[1][1] = "/newsimage/200612xx/XXXXXXX.jpg"
$matches[1][0] = "/newsimage/200612xx/YYYYYYYY.jpg"

如此類推.

再加上:
$allowed_tags = "<br>,<p>,<b>,<a>";
$line = strip_tags($line, $allowed_tags);

這樣 $line 中已沒有了 <img src ..... 的內容>, 在最後自己加上:

for ($i=0;$i<count($matches[1]);$i=$i+1)
{
$line = $line."<img src=".$matches[1][$i].">";
}

那樣全部內容在 $line 中

yuenlong 2006-12-06 18:48
謝謝,你又教曉一課。
我修正了 preg_match_all 裡頭一點,以及響圖片最後加番個 <BR>
就成功了。

preg_match_all("/<img src=(.*?)>/",$line,$matches);
$allowed_tags = "<a>,<b>,<br>,<p>";
$line = strip_tags($line, $allowed_tags);
for ($i=0;$i<count($matches[1]);$i=$i+1)
{
$line = $line."<img src=".$matches[1][$i]."><BR><BR>";
}
$line="<b>".$line."";
echo($line);


查看完整版本: [-- 點樣自動加入日期哩 --] [-- top --]


Powered by PHPWind v4.0.1 Code © 2003-05 PHPWind
Gzip enabled

You can contact us