Что я пытаюсь сделать здесь, это использовать способность PHP создавать и писать в файлы, потому что у меня есть 350 страниц, чтобы сделать все с одинаковой строкой кода, которая отличается на одно число. Скорее всего, это с помощью кода, чем вручную создание 350 страниц!Как использовать функцию внутри переменной?
Каждый файл будет (.php) и назван в честь названия содержимого, которое оно будет иметь, которое уже определено. Однако, поскольку это будет URL-адрес для доступа к странице, мне нужно отформатировать заголовок и использовать форматированную версию в качестве имени файла.
Это то, что я должен начать с:
function seoUrl($string) {
//Make lowercase
$string = strtolower($string);
//Clean up multiple dashes or whitespaces
$string = preg_replace("/[\s-]+/", " ", $string);
//Convert whitespaces and underscore to dash
$string = preg_replace("/[\s_]/", "-", $string);
return $string;
}
Я нашел эту функцию ранее здесь, и она работала отлично для создания карты сайта для всех этих страниц. URL-адреса были такими же, как я хотел. Однако, когда я называю одну и ту же функцию, чтобы сделать это для каждого заголовка, я попал в ловушку. Я предполагаю, что у меня есть код неправильно где-то так вот кусок кода создания файла:
//Content title to be formatted for the filename
$title1="Capitalized And Spaced Title";
//Formatting
$urlfile1="seoUrl ($title1)";
//Text to be written
$txt1="<?include 'tpl/pages/1.txt'?>";
//And the create/write file code
$createfile1=fopen("$urlfile1.php", "w");
fwrite($createfile1, $txt1);
fclose($createfile1);
Код вставки значения .txt в $ просто отлично, что на самом деле, где я ожидал иметь проблему. Но мои созданные файлы включают имя функции и скобки, а также название не отформатировано.
у меня не было этой проблемы на странице сайта:
$url1="$domainurl/$pathurl/$title1.php";
$url2="$domainurl/$pathurl/$title2.php";
...
seoUrl($url1);
seoUrl($url2);
...
<?echo $url1?><br>
<?echo $url2?><br>
...
Я пробовал все, что я могу вспомнить за последние пару часов в настоящее время. Что я здесь делаю неправильно?
Обратите внимание, как вы называете функцию «seoUrl» и как вы вызываете другие функции, например. 'Strtolower'. –