şöyle bir fonksiyon yazdım senin için
function highlight($string, $keyword){
return preg_replace('/(' . $keyword . ')/iu', '<mark>$1</mark>', $string);
}
kullanırkende
$string = 'prototurk.com. Prototürkte yer alan, web dilleriyle ilgili referans JSON dosyalarının yer aldığı repodur. Siz de bu reponun gelişmesine katkı ProTotÜrk sağlayarak Türkçe';
$keyword = 'prototurk';
echo highlight($string, $keyword);
bu sana şöyle bir çıktı verir
gördüğün gibi aradığım kelime prototurk
olduğu için Prototürk
ve ProTotÜrk
ile eşleşmedi. O yüzden ufak bir düzenleme yapıp şöyle denersen;
function highlightTurkish($string, $keyword){
$characters = ['(ü|u)', '(ö|o)', '(ğ|g)', '(ı|i)', '(ç|c)'];
$keyword = str_replace(
['u', 'o', 'g', 'ı', 'c', 'ü', 'ö', 'ğ', 'i', 'ç'],
array_merge($characters, $characters),
mb_strtolower($keyword, 'UTF-8')
);
return preg_replace('/(' . $keyword . ')/iu', '<mark>$1</mark>', $string);
}
ve şöyle kullanırsan
$string = 'prototurk.com. Prototürkte yer alan,
web dilleriyle ilgili referans JSON dosyalarının
yer aldığı repodur. Siz de bu reponun gelişmesine katkı ProTotÜrk sağlayarak Türkçe';
$keyword = 'prototurk';
echo highlightTurkish($string, $keyword);
başarı kaçınılmaz oluyor :) kolay gelsin.
ne yazık ki instagram artık bunun önüne geçti, yeni bir yöntem bulana kadar şimdilik bir yöntemi yok gibi :)
bunu angular ile yapamazsın, bir socket bağlantısı üzerinden veri transferi yaparak yapabilirsin ya da realtime veritabanı sistemleri (firebase vb.) kullanabilirsin
hangi kötüm yorum olduğuna bağlı :) kursu yardım bıraktın yazanları diyorsan anlatmam gerekenleri anlattım proje dersinin devamıda kendini tekrar etmekten geçiyordu gerek duymadım
yeni başlayanlar için uygun değil diyenlerse, ne kadar yeni olduğuna bağlı bilgisayar bile kullanmayı bilmiyorsan elbette doğru kurs olmayabilir.
sorulara cevap vermiyor diyenlerse zaten udemyde bunu belirtebildiğin bir alan var sorulara cevap veremiyorum şeklinde doğrudur yani, akıl edip gelip buradan soranlara cevaplarımızı eksik etmiyoruz.
onun dışında her kötü yorumda sahibine aittir :)
şöyle deneyebilirsin;
$json = file_get_contents('https://www.instagram.com/metadijital/?__a=1');
$data = json_decode($json, true);
foreach ($data['graphql']['user']['edge_owner_to_timeline_media']['edges'] as $key => $image) {
if ($key > 2) break;
// işlemler
}
güvenlik için html'i replace ediyor codeigniter, yapabileceğin en basit çözüm htmlspecialchars_decode()
ve strip_tags()
kullanmak olabilir. Belki Codeigniter'da bunun için bir metod ya da fonksiyon vardır ancak bilmiyorum. Şöyle deneyebilirsin;
<?=substr(strip_tags(htmlspecialchars_decode($key->description)), 0, 50)?>
sonradan eklendiği için live click olması gerek, şöyle deneyin
$(document.body).on('click', '.cevapla', function(){
alert('test');
});
CORS hatası karşı taraf çözmediği sürece çözülmez. Yapabileceğin en basit çözüm proxy kullanmak olabilir, örneğin istek attığın url'i şu şekilde değiştirip dene;
https://cors-anywhere.herokuapp.com/https://siteadi.com
https://siteadi.com
kısmına istek adresini yaz ve $.soap isteğinde o şekilde istek at geri kalan aynı olacak şekilde.
$.soap({
url: 'https://cors-anywhere.herokuapp.com/https://siteadi.com',
data: ...
...
})
gibi.
öğeleri forEach
ile dönerek işlem yapman gerekiyor. örneğin;
<div>1. div</div>
<div>2. div</div>
<div>3. div</div>
<div>4. div</div>
<style>
div.test {
background-color: lime;
}
</style>
<script>
const divs = document.querySelectorAll('div');
divs.forEach(div => {
div.className = "test";
})
</script>
gördüğün gibi yaptıracağın işlemleri forEach
içerisinde yaptırabilirsin.
curl-ext aktif değil anlaşılan sunucunda, hosting kullanıyorsan aldığın yere söylersen bunu aktif etsinler ya da bir sunucuya geçmen faydalı olur.