<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/main.xsl"?>
<b:blog xmlns="http://www.w3.org/1999/xhtml" xmlns:b="http://blog.othree.net"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://blog.othree.net http://blog.othree.net/blooog.xsd">
	<b:blogTitle>O3noBLOG</b:blogTitle>
	<b:blogDescription></b:blogDescription>
	<b:entries>
		<b:entriesMeta>
			<b:listType>s</b:listType>
			<b:listData listID="000561" baseName="short-amazon">short-amazon</b:listData>

			<b:previous>
				<b:mTitle>aNobii API</b:mTitle>
				<b:mDate>2008/12/18</b:mDate>
				<b:mBase>anobii-api</b:mBase>
			</b:previous>


			<b:next>
				<b:mTitle>W3C Validatior 贊助計畫</b:mTitle>
				<b:mDate>2008/12/21</b:mDate>
				<b:mBase>w3c-validatior-donation</b:mBase>
			</b:next>

		</b:entriesMeta>
		<b:entry entryID="000561" baseName="short-amazon">
			<b:author>
				<b:authorName>othree</b:authorName>
				<b:authorEmail>othree@gmail.com</b:authorEmail>
				<b:authorUrl></b:authorUrl>
			</b:author>
			<b:datetime>
				<b:date>2008-12-19</b:date>
				<b:time>02:31:48</b:time>
			</b:datetime>
			<b:category>web</b:category>

			<b:CommentsAccepted>1</b:CommentsAccepted>



			<b:PingsAccepted>1</b:PingsAccepted>


			<b:title>short-amazon</b:title>
			<b:content>
				<b:summary>剛剛寫的縮短Amazon網址的小東西，純 javascript，還提供了 bookmarklet 版，理論上只要 Amazon 沒有改他的網址定義的話都會生效。 其實快寫完的時候Jedi大師告訴我以前有人寫過，不過我看一下前人的 code 後，發現我處理的比較完善，可以對付比較多國家的Amazon網址，不過中國的沒辦法就是。 昨天後來和長輩討論過後，好像 dp (detail page) 發現好像治百病，所以剛剛修改過，變成產生的都是 dp/ASIN 這樣的網址，這樣就和 short amazon affiliate 一樣了，所以我比較強只有可以處理 .com 以外的和可以處理多行。...</b:summary>
				<b:mainContent><p>剛剛寫的<a href="http://othree.net/projects/short-amazon/">縮短Amazon網址</a>的小東西，純 javascript，還提供了 bookmarklet 版，理論上只要 Amazon 沒有改他的網址定義的話都會生效。</p>

<p>其實快寫完的時候<a href="http://jedi.org/blog/">Jedi大師</a>告訴我<a href="http://www.phpied.com/short-amazon-affiliate-links-a-bookmarklet/">以前有人寫過</a>，不過我看一下前人的 code 後，發現我處理的比較完善，可以對付比較多國家的Amazon網址，不過中國的沒辦法就是。</p>

<p class="update">昨天後來和<a href="http://jedi.org/blog/">長</a><a href="http://slzzp.blogspot.com/">輩</a>討論過後，好像 dp (detail page) 發現好像治百病，所以剛剛修改過，變成產生的都是 dp/ASIN 這樣的網址，這樣就和 short amazon affiliate 一樣了，所以我比較強只有可以處理 .com 以外的和可以處理多行。</p></b:mainContent>
				<b:extendContent></b:extendContent>
			</b:content>
			<b:comments commentCount="4">

				<b:comment commentID="098243" entryID="000561">
					<b:author>
						<b:authorName>Jacky</b:authorName>
						<b:authorEmail>jackysee@gmail.com</b:authorEmail>
						<b:authorUrl>http://jacky.seezone.net</b:authorUrl>
					</b:author>
					<b:datetime>
						<b:date>2008-12-19</b:date>
						<b:time>10:28:09</b:time>
					</b:datetime>
					<b:content>
						<b:mainContent><p>我會這樣寫 regexp:</p>

<p>var url = 'http://www.amazon.com/Complete-Star-Wars-Encyclopedia/dp/0345477634/ref=pd_bbs_sr_1?ie=UTF8&amp;s=books&amp;qid=1229625244&amp;sr=8-1';<br />
var re = /^(http:\/\/www\.amazon\.[\w\.]{2,6})\/.*(\/(dp|gp\/product)\/\d*\/).*/;<br />
if(re.test(url)) {<br />
    url = url.replace(re,'$1$2');    <br />
}</p>

<p>當然這樣做 readability 不太好 :p</p></b:mainContent>
					</b:content>
				</b:comment>

				<b:comment commentID="098247" entryID="000561">
					<b:author>
						<b:authorName>Jacky</b:authorName>
						<b:authorEmail>jackysee@gmail.com</b:authorEmail>
						<b:authorUrl>http://jacky.seezone.net</b:authorUrl>
					</b:author>
					<b:datetime>
						<b:date>2008-12-19</b:date>
						<b:time>10:44:52</b:time>
					</b:datetime>
					<b:content>
						<b:mainContent><p>剛剛留了言，但好像發不了？</p>

<p>我會這樣寫: <a href="http://jsbin.com/aqoli" rel="nofollow">http://jsbin.com/aqoli</a><br />
當然這樣 readability 會不太好 :p</p></b:mainContent>
					</b:content>
				</b:comment>

				<b:comment commentID="098252" entryID="000561">
					<b:author>
						<b:authorName>othree.net</b:authorName>
						<b:authorEmail></b:authorEmail>
						<b:authorUrl>http://blog.othree.net</b:authorUrl>
					</b:author>
					<b:datetime>
						<b:date>2008-12-19</b:date>
						<b:time>11:35:45</b:time>
					</b:datetime>
					<b:content>
						<b:mainContent><p>@Jacky</p>

<p>其實還有一些比較特別的網址會沒顧慮到喔，像是有 ASIN 後面是問號而不是斜線的，還有 ASIN 前面沒 dp 或 gp 的例子，不過昨天測試好像是只要找到 ASIN ，然後前面加 dp 就可以了，不管原來是什麼形式，還在測試中。（長輩說似乎有遇過不行的）</p></b:mainContent>
					</b:content>
				</b:comment>

				<b:comment commentID="098263" entryID="000561">
					<b:author>
						<b:authorName>Jacky</b:authorName>
						<b:authorEmail>jackysee@gmail.com</b:authorEmail>
						<b:authorUrl>http://jacky.seezone.net</b:authorUrl>
					</b:author>
					<b:datetime>
						<b:date>2008-12-19</b:date>
						<b:time>12:37:22</b:time>
					</b:datetime>
					<b:content>
						<b:mainContent><p>我也跟據你的改動修改了，asin 改成 [a-z0-9] 判定，和尾綴是 / 或 ? 也可以，見： <a href="http://jsbin.com/umiki" rel="nofollow">http://jsbin.com/umiki</a></p>

<p>(可以到 <a href="http://jsbin.com/umiki/edit" rel="nofollow">http://jsbin.com/umiki/edit</a> 修改測試，很方便)</p></b:mainContent>
					</b:content>
				</b:comment>

			</b:comments>
			<b:trackbacks trackbackCount="0" trackbackURL="http://othree.net/cgi-bin/mt/mt-tb.cgi/559">

			</b:trackbacks>
		</b:entry>
	</b:entries>
</b:blog>