こんにちは、お世話になります。
目的は多数のファイル内にあるurlをphpでエンコードすことです。
使ったコマンド
echo(); file_get_contents(); str_replace(); urlencode(); array();
ファイル内のurlをエンコードするためfile_get_contentsで取得後、
str_replaceでファイル全体のurlだけに対してエンコード置換をしたくて
str_replaceの中にurlencodeを組み込む必要がでてきました。
たくさんのやりかたがあると思うのですが今はこんな感じかと思っています。
sample.php $subject= "http://exmple.com/test.php"; $search = array('test'); $replace = array('TEST'); echo str_replace($search,$replace,$subject);
この方法でファイル全体に対してtestをTESTに置換はできました。
タグはこんな形になっています。
(エンコードするurlの種類は2種類だけです)
<a href="http://exmple.com/test_a/test2/test3/"> <a href="http://exmple.com/test_b/test2/test3/"> ```このtest3部分がランダムになっています。 試しにこれをnkfで手動でエンコードするとこうなりした。 ```ここに言語を入力 http%3A%2F%2Fexmple%2Ecom%2Ftest%5Fa%2Ftest2%2Ftest3%2F http%3A%2F%2Fexmple%2Ecom%2Ftest%5Fb%2Ftest2%2Ftest3%2F
たとえば下記のようにurlencodeを組み込めれば・・・。
test.php file_get_contents("http://exmple.com/test.php");//ファイルの取得 $subject= "test.txt";//ファイル名の定義 $url = 'http://exmple.com/(test_a|tes_b)/$1';//url取得正規表現 $search = array("{$url}");//取得したurlを配列に格納 $replace = array('urlencode("{$url}")');//エンコードして配列に格納.. echo str_replace($search,$replace,$subject);//置換し配列に上書きして出力..
正規表現、配列やurlencodeの組み込みなど
こんなふうにできればと思っています。
あまり難しいことはよくわからなく申し訳ないのですが
どなたか教えていただけたらと思い質問させていただきました。
よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/25 10:55 編集