airplantz

「regex_replace」を使って、全角英数字を半角英数字に置換

0

「flexibleSearch でbodyをn文字だけ抽出」の続きなのですが、別トピにさせていただききます。

検索で、「regex_replace」を使って、全角英数字を半角英数字に置き換えることはできるでしょうか。

<mt:entryBody remove_html="1" regex_replace="/\n|\t| | /g","">

上記に追加で書くことはできますか?
別のプラグインとかが必要なのでしょうか。
よろしくお願いいたします。

返信(4)

| 返信する
  • こんにちは。
    regex_replace モディファイアを連続で書けばできると思います。

    <mt:entryBody remove_html="1"
    regex_replace="/\n|\t| | /g",""
    regex_replace="/A/g","A"
    regex_replace="/B/g","A"
    ....以下必要は分だけ続く
    >

    でもコードが大変なことになるので、下記のようなプラグインを検討してもいいかもしれませんね(すみません、僕は使ったことはないです)。

    http://www.h-fj.com/blog/archives/2009/10/23-115540.php

  • tinybeans@bit partさん、引き続きありがとうございます!

    すべてをモディファイア使って書くと大変なことになりますね。
    プラグイン、検討してみます。

    ありがとうございました。

  • tinybeans@bit partさん、結局、jsで全角英数字を半角英数字に置き換えるものにしました。
    ありがとうございました。

  • 何度もすみません。


    上記で全角半角問題は解決したのですが、今度は、「h」と入れるとパーマリングのurlまで検索の対象になってしまって、全ページが検索でヒット(http://~のhが対象に)するようになってしまいました(>_

    パーマリンクが検索の対象にならないようにするにはどうしたらよいでしょうか。

    検索出力は以下にしております。

    resultItemTmpl: ['<dl class="search">','{{#items}}','<dt><a href="{{url}}" title="{{title}}">{{&title}}</a></dt>','<dd><span>{{&body}}...</span><a href="{{url}}">[続きを読む]</a></dd>',
    '{{/items}}','</dl>'].join(""),
    modifyResultItemHTML: function(html){
    return html.replace(/<span>.*?<\/span>/gi, function(match){
    match = match.replace(/<\/?span>/g, '');
    if (match.length > 50) {
    match = match.substring(0, 50) + '...';
    }
    return '<span>' + match + '</span>';
    });
    },

返信する


OpenID対応しています OpenIDについて