0

H 皆さん、

私は次のものを持っています:

$html = '<ul class="pagination-all">';
    $html .= '<li class="pagination-start"><div class="img-start"></div>'.$list['start']['data'].'</li>';
    $html .= '<li class="pagination-prev"><div class="img-prev"></div>'.$list['previous']['data'].'</li>';
    $html .= '<ul class="pagination-data">';
    foreach($list['pages'] as $page) {
        $html .= '<li>'.$page['data'].'</li>';
    }
    $html .= '</ul>';
    $html .= '<li class="pagination-next">'. $list['next']['data'].'<div class="img-next"></div></li>';
    $html .= '<li class="pagination-end">'. $list['end']['data'].'<div class="img-end"></div></li>';
    $html .= '</ul>';

    return $html;

Start が見つかった場合、文字列が「img-start」を「img-start-active」に置き換える方法を考えていました。span class="pagenav"> End が見つかった場合、string は "img-end" を "img-end-active" に置き換えます。

私が試みた:

$string = $html;
if(strstr($string, '<span class="pagenav"> Start </span>'))
{
echo str_replace("img-start", "img-start-active", $string);
}
else
{
echo " ";
}

残念ながら、これを適切に使用したとは思えません。最終的には、条件を指定して目的の文字列置換を取得しましたが、ページネーション全体がエコーされましたが、書式設定はありませんでした。

これは画像です:ここに画像の説明を入力

それでめちゃくちゃでした。

2 番目の「ページネーション」を作成せずに、この検索と置換を行う方法はありますか?

答え:

 $string = $html;
        if(strstr($string, '<span class="pagenav">Start</span>'))
        {
        return str_replace("img-start", "img-start-active", $string);
        }
        else
        {
        echo " ";
        }

削除するreturn $html;

4

2 に答える 2

1

どのようなフォーマットが失われましたか? 元の文字列$htmlにもフォーマットはありません:)echo $html;そこにもフォーマットがないことがわかる場合。\n必要に応じて、改行が必要な各行の末尾に追加できます (文字列を囲む単一引用符も二重引用符に置き換えてください)。たとえば、2 行目は次のようになります。

$html .= '<li class="pagination-start"><div class="img-start"></div>'.$list['start']['data']."</li>\n";

編集(質問が更新された後):

この場合、新しいクラス名の CSS が設定されていない可能性があります。css ファイルでimg-start-activeimg-end-activeと同じ内容の新しいクラスを作成した場合、書式設定が失われることはimg-startありimg-endません。

于 2012-05-14T22:50:52.050 に答える
0
$string = $html;
    if(strstr($string, '<span class="pagenav">Start</span>'))
    {
    return str_replace("img-start", "img-start-active", $string);
    }
    else
    {
    echo " ";
    }

削除するreturn $html;

于 2012-06-22T16:28:13.537 に答える