На веб-сайте, который я взял на себя, используются сноски в форме ((1)), ((2)) - ((40)) и т. д. в базе данных. Я пытаюсь программно заменить эти строки в шаблонах внешнего интерфейса следующим HTML-кодом на лету, в идеале с использованием PHP, хотя я полагаю, что решение JavaScript/jQuery может работать.
Замените ((1)) на:
Число в скобках должно быть включено как в цель ссылки, например #footnote-1, но также и в надстрочном тексте, например. [1]. В настоящее время я прохожу через это с заменой строки. Следующим образом:
Код: Выделить всё
$content = str_replace('((1))', '[url=#footnote-1][1][/url]', $content);
$content = str_replace('((2))', '[url=#footnote-2][2][/url]', $content);
$content = str_replace('((3))', '[url=#footnote-3][3][/url]', $content);
etc. x 40
Поскольку у нас есть до сорока сносок, это кажется довольно неэффективным, поскольку блоки текста $content могут представлять собой длинные статьи из тысяч слов, а во многих из них может не быть и близко 40 сносок.
Есть ли более эффективный способ сделать это? Возможно, выход из цикла, если предыдущая сноска не существует. Я пытался изучить RegEx, но меня всегда сбивал с толку синтаксис, и я не продвинулся далеко. Любые советы очень ценятся.
Подробнее здесь:
https://stackoverflow.com/questions/797 ... -2-for-foo