<?php
class My {
private $fields = [
'hello' => 'world'
];
public function f() {
return $this;
}
public function __get($name) {
if($name == 'f') {
return (object) $this->fields;
}
}
public function __set($name, $value) {
$this->fields[$name] = $value;
}
public function printFields() {
print_r($this->fields);
}
}
$my = new My();
$my->f()->jetpack = 'azaza';
$my->printFields();
$name
, а саму перменную $name
создаёте в index.php. Вам нужно объявить $name
перед подключением файла test.php <?php
// Входная строка
$text = '<a href="/go.php?ff">Ссылка 1</a><img src="/images/foo.jpg" alt="img"><a href="/some.php?helloworld"></a><p>Проверочка</p><a href="/go.php?dvb">Ссылка 2</a>';
// Количество ссылок, которое будет обёрнуто в <div>
$links_count = 0;
// Служебная перменная (смещение, чтобы избежать ненужных повторных замен)
$offset = 0;
// Считаем количество ссылок, которое надо обернуть
$links_count = substr_count($text, '<a href="/go.php');
// Если таких ссылок нет, то die
if(!$links_count) die;
// Длина строки закрывающего тега ссылки
$closing_tag_length = strlen('</a>');
// Создание текстового поля
echo '<textarea readonly rows="35" cols="80">';
// Вывод входной строки и количества оборачиваемых ссылок
echo 'Входная строка:', PHP_EOL, PHP_EOL, $text, PHP_EOL, PHP_EOL, '---------------------------', PHP_EOL;
echo 'Обнаружено ссылок, подлежащих замене: ', $links_count, PHP_EOL, PHP_EOL;
// Первоначальная и быстрая замена всех открывающих тегов (добавление перед ними <div>)
$text = str_replace('<a href="/go.php', '<div><a href="/go.php', $text);
// Цикл для замены "</a>" на "</a></div>" для тех ссылок, в которых есть go.php
for($i = 0; $i < $links_count; $i++)
{
// Вычисление стартовой позиции
$link_start = strpos($text, '<a href="/go.php', $offset);
// Вычисление позиции закрывающего тега
$link_end = strpos($text, '</a>', $link_start);
// Сохранение смещения
$offset = $link_end;
// Замена
$text = substr_replace($text, '</div>', $link_end + $closing_tag_length, 0);
}
// Вывод выходной строки
echo '---------------------------', PHP_EOL;
echo 'Выходная строка:', PHP_EOL, PHP_EOL;
echo $text, PHP_EOL;
echo '</textarea>';
?>
++ static
+++ images
++++ logo.png
+ header.php
+ content.php
+ footer.php
<?php $logo_url = '/images/logo.png'; ?>
<header>
<h2>Тут хэдер</h2>
<p>А вот и лого:</p>
<img src="<?=$logo_url;?>" alt="logo">
</header>
<?php
require 'header.php';
$page = !empty($_GET['page'])
? filter_input(INPUT_GET, 'page', FILTER_SANITIZE_STRING)
: 'index' ; ?>
<main>
<?php if($page === 'index'): ?>
<p>Главная страница сайта.</p>
<?php else: ?>
<p>Не главная страница сайта.</p>
<a href="/">Перейти на главную</a>
<?php endif; ?>
</main>
<?php require 'footer.php'; ?>
<?php $copyright = 'Mr. Y'; ?>
<footer>
<h4>Тут футер</h4>
<p><?=$copyright;?></p>
</footer>
$mail->SMTPOptions =
[
'ssl' =>
[
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
]
];
$mail->setFrom(''***@yandex.ru');
SELECT `TABLE_NAME` FROM `information_schema`.`TABLES` WHERE `TABLES`.`TABLE_SCHEMA` = '[Тут название нужной БД]';
index.php
вот этим.<?php echo 'Привет, ', 'человек!'; ?>
if(in_array($date['login'], $loginsp, true)) echo 'Логин найден.';
else echo 'Логин не найден.';
(\d+)
.$matches = [];
preg_match_all('/(\d+)/', '56, 38, 39', $matches);
$matches
все числа, найденные в строке. А из массива их можно будет вывести через запятую, используя, например, foreach
.