1

jscriptを使用してブログの画像の名前を生成しようとしていますが、

$img.attr('title', filename.substring((filename.lastIndexOf('/'))+1, filename.lastIndexOf('.')));

ダッシュとプラスを含む画像の名前を取得しています。私の質問は、スペースを取得したいダッシュとプラスとインターの文字なしで名前を取得することです。誰でもそれを可能にすることができますか。コード全体は次のようになります

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js' type='text/javascript'/>
<script type='text/javascript'>
//<![CDATA[
$(document).ready(function()
{
$('img').each(function()
{
var $img = $(this);
var filename = $img.attr('src')
$img.attr('title', filename.substring((filename.lastIndexOf('/'))+1, filename.lastIndexOf('.')));
$img.attr('alt', filename.substring((filename.lastIndexOf('/'))+1, filename.lastIndexOf('.')));
$img.attr('title', filename.replace("+"," "));
});
});
//]]>
</script>

これは完全なスクリプトであり、画像名を取得して特殊文字をスペースに置き換えるときに、画像名から特殊文字を回避する方法を知りたいと思っていました。

これは、ブロガーの HTML コードのセクションの直後に配置する必要があります。

4

1 に答える 1

1

ワーキングデモ

ベース名を取得してから、- または + をスペースに置き換えようとしているようですhttp://somedomain.com/images/some+image-here.jpgsome image here

以下はベース名を取り、ダッシュとプラスをスペースに置き換え、数字を削除します。

$('img').each(function(){
  var bn=$(this).attr('src').replace(/[0-9]|^.*\/|\.[^.]*$/g, '').replace(/[\+|\-]/g,' ');
  $(this).attr('title', bn).attr('alt',bn);
});

または、.jpgを保持したい場合

var bn=$(this).attr('src').replace(/[0-9]|^.*\/|\.*$/g, '').replace(/[\+|\-]/g,' ');
于 2013-01-05T03:56:19.593 に答える